Poslao: 29 Avg 2006 19:31
|
offline
- beli0135
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Executor
- Pridružio: 03 Jan 2005
- Poruke: 2990
- Gde živiš: Beograd
|
function TProcessThread.GetFileFromList: string;
var
cs:TRTLCriticalSection;
begin
(*
InitCriticalSection(cs);
{$IFDEF windows}
EnterCriticalSection(cs.LockCount);
{$ELSE}
EnterCriticalSection(cs.__m_count);
{$ENDIF}
*)
result:=FileList.strings[0];
FileList.Delete(0);
(*
{$IFDEF windows}
LeaveCriticalSection(cs.LockCount);
{$ELSE}
LeaveCriticalSection(cs.__m_count);
{$ENDIF}
DoneCriticalsection(cs);
*)
end;
ovo sto je komentovano, ne kompajlira zbog Linux dela : EnterCriticalSection(cs.__m_count);
jel zna neko kako se radi sa CriticalSection u lazarusu?
Dopuna: 29 Avg 2006 15:31
Zapravo, kad se odkomentuje Windows deo, ni to ne radi
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 29 Avg 2006 19:56
|
offline
- Srki_82
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Koliko znam treba da pise:
Critical: TRTLCriticalSection;
InitializeCriticalSection(Critical);
EnterCriticalSection(Critical);
LeaveCriticalSection(Critical);
DeleteCriticalSection(Critical);
Ovaj kod bi trebalo da radi na svim platformama.
|
|
|
|
|
Poslao: 29 Avg 2006 20:31
|
offline
- beli0135
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Executor
- Pridružio: 03 Jan 2005
- Poruke: 2990
- Gde živiš: Beograd
|
@Srki
unProcess.pas(82,35) Error: call by var parameters have to match exactly: Got "TRTLCriticalSection" expected "LongInt"
@Bobby
Primer sa wikija nema to, primer iz drugog linka kreira gresku odozgo
|
|
|
|
Poslao: 29 Avg 2006 21:32
|
offline
- Srki_82
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Ok... evo ispravke koja radi (program se kompajlira i radi kada se pokrene). Napravio sam nov projekat, postavio dugmence i u OnClick event napisao ovo:
procedure TForm1.Button1Click(Sender: TObject);
var
Critical: TRTLCriticalSection;
begin
InitCriticalSection(Critical);
EnterCriticalSection(Critical);
LeaveCriticalSection(Critical);
DoneCriticalsection(Critical);
end;
|
|
|
|
|
Poslao: 29 Avg 2006 21:55
|
offline
- Srki_82
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Hajde kopiraj definicije funkcija InitCriticalSection, EnterCriticalSection, LeaveCriticalSection i DoneCriticalsection iz Lazarusa pa da vidimo... koristim 0.9.16 verziju Lazarusa.
|
|
|
|
Poslao: 30 Avg 2006 04:19
|
offline
- beli0135
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Executor
- Pridružio: 03 Jan 2005
- Poruke: 2990
- Gde živiš: Beograd
|
I ja koristim istu verziju, koju sam za windoze skinuo pre 4 dana sa sajta. Posto sam reinstalirao suse, nemam linux verziju, ali mi se apsolutno isto deshavalo.
|
|
|
|
Poslao: 30 Avg 2006 20:01
|
offline
- Srki_82
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Hajde kopiraj definicije tih funkcija iz source... sigurno ima razlike kad nece da se iskompajlira.
|
|
|
|
Poslao: 30 Avg 2006 22:07
|
offline
- beli0135
![Male](https://www.mycity.rs/templates/simplified/images2/user-sex.gif)
- Executor
- Pridružio: 03 Jan 2005
- Poruke: 2990
- Gde živiš: Beograd
|
Reshio sam to.
uses SyncObjs...
function TProcessThread.GetFileFromList: string;
var
Critical:TCriticalSection;
begin
critical:=TCriticalSection.Create;
try
Critical.Acquire;
result:=FileList.strings[0];
FileList.Delete(0);
Critical.Release;
finally
critical.Free;
end;
end;
Drugi problem... jel zna neko kako da resizujem JPG?
jpg := TJPEGImage.create;
try
jpg.LoadFromFile(infile);
// LAZARUS BUG u sledecoj
bmp.canvas.StretchDraw(Rect(0,0,AWidth,AHeight),jpg);
finally
jpg.Free;
end;
.....
StrechDraw je toliko bagiran da izlazi skroz zeznuta slika.
Jel zna neko kako da napravim resize?!
|
|
|
|