Ich habe sowohl Delphi7 und DelphiXE2 (beide 32-Bit) auf meinem Rechner installiert. Und ich muss eine Funktion openSocket() von DLL 'libnodave.dll' verwenden.DelphiXE2 vs Delphi7. DLL-Verhalten hängt von Aufruf Prozess
Das Problem ist, dass in Delphi7 und in .exe-Datei kompiliert von D7 diese Funktion in einem Moment ausgeführt wird und einige Integer-Wert zurückgibt, aber in DelphiXE2 stoppt es für 3 Sekunden (Timeout ich denke) und gibt Null zurück. Ich habe versucht, eine Art "Proxy-DLL" in D7 zu schreiben, die dieselbe Funktion von der ursprünglichen DLL intern aufruft, aber es funktioniert nicht. Nun interessiert mich, welche anderen Informationen der Programmausführung neben lokalen Funktionsparametern an dll übergeben wird. Wie es dazu kommen konnte, dass die Bibliothek Unterschiede in ihrem Verhalten macht, hängt davon ab, wer die Funktion aufruft. Und gibt es eine Möglichkeit, den DelphiXE-Compiler als D7-Compiler zu konfigurieren? Noch eine kleine Frage: Wie kann ich beim Debuggen alle im Programm definierten globalen Parameter (wie {$ DEFINE WIN32}) durchsehen.
Danke für irgendwelche Ideen.
Das wäre 'Strg + O + O', aber es enthält keine Dinge wie' WIN32' oder 'POSIX'. Es enthält Dinge wie Warnungen, Bereichsüberprüfung und Überlauf, Minengröße und dergleichen (IOW, die Definition, die Sie ändern können, nicht die eingebauten Konstanten). –
@KenWhite: Danke für die Info. –