Hallo,
Nachtrag hierzu:
Zitat von
jbg:
TIdThreadSafeInteger ist ja wohl der Abschuss. Ein InterlockIncrement/Decrement hätte es auch getan. Da braucht man kein Objekt, dass ein TCriticalSection Objekt erstellt um dann das Increment/Decrement ausführen zu können. Nein Danke.
Nicht bei Mac OSX. Das Äquivalent von InterlockedIncrement/Decrement (OSIncrement/DecrementAtomic) liefert hier das PreIncrement, nicht das PostIncrement wie bei Windows. Ebenfalls kann es auf anderen Plattformen Probleme mit dem Alignment geben. Da war TIdThreadSafeInteger als Lösung für alle Platform die naheliegenste Wahl...
Sobald das für alle Plattformen gelöst ist, kann man darüber diskutieren. Für Win wäre natürlich ein InterlockedIncrement/Decrement besser, aber wenn
Indy eins nicht braucht, dann noch mehr IFDEFs!
Zitat von
jbg:
Ich habe mir das jetzt nochmal genauer angeschaut. Und ich muss sagen, mir diesem Sch**ß Delphi.NET/C# Port
Indy 10 sowas von umständlich und chaotisch geworden ist, dass ich nun überlege, mir eine Alternative zu suchen. Sorry, aber den Schrott tue ich mir nicht mehr an.
Der C#/Net Code wird in
Indy 11 rausfliegen, dann wird es wieder übersichtlicher.
[
OT]Und grundsätzlich: Bei Euch im Team
JEDI sieht es nicht viel besser aus
Also aufpassen mit dem Glashaus und den Steinen
Wenn man versucht eine Komponente zu "De-
JEDI-fizieren", also wieder standalone zu machen, stehen einem die Haare zu berge... Nachdem ich ewig lange auf dem
JEDI Mantis versucht hatte, die Fehler der JvLinkLabel im Anti-Aliasing klarzumachen (mit Text, Demo, Bilder) kam ein Fix, der halbherzig ist - obwohl ich selbst einen bereitgestellt hatte. Auf die Mails dazu in der alten Newsgroup (talkto) wurde garnicht geantwortet. Inzwischen hab ich die Komponente geforkt und so wie David Polberger es beschrieb, den Tag Arbeit für den Fix investiert.
Lange rede, kurzer Sinn: In Sachen Installation, Demos, Doku, Webseite & Code nehmen sich beide OpenSource Projekte nicht viel. Zu komplex, zu wenig Helfer. Da sitzen wir beide im selben Boot.
[/
OT]
Gruß,
Assertor