Da ich deinen Code nicht kenne, kann ich nur Rätseln woran das liegen kann. Das kann von Speicherüberschreibungen deines Codes bis zu glattem Fehlverhalten meines Codes reichen.
Zitat von
BloodySmartie:
Meine Anwendung, die zwei oder mehr asynchrone Aufrufe derselben Prozedur gleichzeitig laufen lässt
Ich hoffe, dass du nicht annimmst, dass AsyncCall gemeinsame Variable schützt.
Ansonsten würde ich dir zu den TAsyncCalls.Invoke() bzw. TAsyncCalls.VCLSync() / TAsyncCalls.VCLInvoke() Methoden raten, denn die basieren nicht auf Annahmen über den kompilierten Code. Wahrscheinlich generiert der Compiler bei dir einen Code der von den alten AsyncCalls Methoden nicht behandelt wird/werden kann.
Delphi-Quellcode:
EnterMainThread;
try
bla;
finally
LeaveMainThread;
end;
Wir mit den neuen Methoden zu:
Delphi-Quellcode:
TAsyncCalls.VCLSync(procedure
begin
bla;
end);