AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Übergabe von Interface an DLL führt zu AccessViolation
Thema durchsuchen
Ansicht
Themen-Optionen

Übergabe von Interface an DLL führt zu AccessViolation

Ein Thema von Aviator · begonnen am 7. Okt 2016 · letzter Beitrag vom 8. Okt 2016
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.549 Beiträge
 
Delphi 12 Athens
 
#4

AW: Übergabe von Interface an DLL führt zu AccessViolation

  Alt 7. Okt 2016, 18:32
als erstes solltest Du die
Exporte auch mit stdcall aufrufen.
Nee, wieso denn?

Es ist nur wichtig, dass auf beiden Seiten die Schnittstellen gleich aussehn
und wenn hier EXE und DLL mit Delphi geschrieben sind, dann kann die Aufrufkonvention auch problemlos "register" bleiben.

Was man aber nicht machen darf, ist einen PWideChar wie einen String aussehn zu lassen.

DelphiStrings sind zwar intern zu PChar kompatibel (PChar(String) ist also OK), aber andersrum natürlich nicht (niemals String(PChar) ).

Und wenn in der DLL ein String in einen PChar gecastet wurde, dann darf der dennoch nicht zurück nach String gecastet werden.
* Die speicherverwaltung von DLL und EXE sind standardmäßig getrennt (jeder hat seine Eigene)
* und bei Strings gibt es den Sonderfall des Leerstrings, wo der PChar(String) -Cast auf eine Konstante mit dem Inhalt #0#0 umleitet.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Okt 2016 um 18:37 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz