Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: AccessViolation-Error mit DLL

  Alt 17. Jan 2006, 07:24
Zitat von chaosben:
So, jetzt habt ihr mich so weit ("auf die Palme") gebracht, das ich ne Demo geschrieben habe. Und ... wer hätte das gedacht ... es geht (via Pointer).
Und wer es nicht glaubt, der sauge sich bitte den Anhang.

Natürlich funktioniert diese Vorgehensweise nur ganz sauber, wenn man für die DLL und das Programm den gleichen Compiler und die gleichen Units verwendet.
Das geht vieleicht, aber ist es sinnvoll bei einer "normalen" DLL den Compiler und die Version der DLL's vorzuschreiben. Dann kann man ja gleich Packages nehmen.
Auch gehen in diesem Fall nicht alle Objekte korrekt in 'ner DLL verwenden.

Kannst Du mal dein Programm so erweitern das eine aus der DLL erzeugtes TFont-Objekt in der Exe einem Button zugewiesen wird. Meine Versuche nach deinem Schema scheitern immer an einem Absturz.

Zitat von chaosben:
Und noch ein Wort zu Objekten und Pointern. Eine Objektreferenz ist ungleich der Adresse im Speicher. Das was Integer(Objekt) liefert ist nur eine ID, die innerhalb der VCL-Umgebung eines bestimmten Programms gültig ist. Somit kann ich nicht diese ID an eine DLL übergeben, da diese ja in einer anderen Umgebung läuft. Dagegen ist die Adresse des Objektes im Speicher eindeutig.
OK. Habe ich auch nicht so im Details so gewußt. Aber lößt das auch unser Problem komplett (siehe TFont)?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat