[fpc-devel] Issue with Critical sections

Sergei Gorelkin sergei_gorelkin at mail.ru
Thu Apr 5 11:16:15 CEST 2007


Thursday, April 05, 2007, 11:45:34 AM, Vinzent wrote:

VH> Sorry, I always forget that most people are not like me and just use
VH> subroutine names without caring where they come from, while I'm used to 
VH> always prefix the unit names to the subroutines and thus simply 
VH> removing "Windows" from the use clause would not work, because the 
VH> routines suddenly come from a different place.

VH> Well, my opinion and my experience say you should know which routines 
VH> you are actually using. I know that since the days I used DisposeStr 
VH> and the FPC compiled code horribly crashed, because it was the wrong 
VH> one.

It appears that my way of thinking has been severely affected by using
IDEs. When putting mouse over identifier shows where it comes from, prefixing
seems redundant :)

VH> I won't judge if FPC is correct here (it's supposed to be Delphi-, not 
VH> Kylix-compatible), but if Borland decided to move those routines, they 
VH> didn't do it right neither. ;)

They did not move routines - they just had to implement Linux versions
somehow. And they did it in a way that was not breaking existing code.

VH> Well, I'd still suggest to either stick to "System.InitCriticalSection" 
VH> etc. regardless if the Windows unit is included or not (yes, this 
VH> actually *requires* you to prefix it), or just use the SyncObjs unit 
VH> like everyone else out there.

In this particular case I wanted to avoid FCL dependence via using
SyncObjs.
Ok, for now I have it fixed. Since Ivo has a large patch pending, I shall
stay on...

-- 
Best regards,
 Sergei





More information about the fpc-devel mailing list