Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.443 pregleda

Najnovija ↓

Greska: CoInitialize has not been called 07.12.2006. u 14:23 · pre 242 meseca #1
E ovako, treba da napravim Server koji parsuje RSS fajlove i klijentima vraca vesti. Program radim u Turbo Delphi-ju i koristim Indy TCP Server. Problem nastaje kada pokusam da parsujem dovuceni XML fajl preko komponente TXMLDocument. Da pojasnim, problem se iskljucivo javlja u metodi Indy TCP Servera OnExecute. Ovako van te metode, nemam problema, sve radi savrseno. Ali kada pokusam da parsujem u toj metodi javlja gresku: "CoInitialize has not been called". Posto je to Server, sve se radi preko niti, tako da je i taj event vezan za nit konekcije sa klijentom. Kako da ovo resim??? Pomagajte.
Potpis
www.okinternet.co.nr
Re: Greska: CoInitialize has not been called 07.12.2006. u 14:57 · pre 242 meseca #2
U Execute metod niti stavi ovako.

Code:

begin
  CoInitialize;
  try
    // Ovde stavi ono sto si do sada koristio...
  finally
    CoUnInitialize;
  end;
end;


Razlog za ovako ponasanje je to sto se automatska inicijalizacija COM-a vrsi samo za glavnu nit, dok za ostale koje pravis moras sam to da uradis. A bez inicijalizacije nema ni koriscenja :)
Re: Greska: CoInitialize has not been called 07.12.2006. u 15:24 · pre 242 meseca
izmenjeno 1 put, poslednji put FreeInHell 07.12.2006. u 16:12
  1. FreeInHell07.12.2006. u 16:12zapis iz teksta poruke
#3
Hvala, vec sam razmisljao o nekim drugim ekstremnim koracima :-).

To radi samo sto mora:
CoInitialize(nil); i da se doda u uses listu: ActiveX. Hvala jos jednom, pozdrav!
Potpis
www.okinternet.co.nr
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme