AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

dll einbinden / Pointer Probleme

Ein Thema von Pow3rus3r · begonnen am 17. Apr 2012 · letzter Beitrag vom 25. Apr 2012
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#1

AW: dll einbinden / Pointer Probleme

  Alt 24. Apr 2012, 13:05
Nächster Versuch:
function COM_GetVersionReq(zeiger:Pointer; var version: TCOM_Version): NativeUInt ; cdecl; external 'HwCom.dll';
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Pow3rus3r

Registriert seit: 17. Apr 2012
43 Beiträge
 
Delphi XE Professional
 
#2

AW: dll einbinden / Pointer Probleme

  Alt 24. Apr 2012, 13:25
Super, danke dir! Nun läuft die Funktion schon mal durch und liefert 0 zurück (also alles ok soweit). Jetzt kommt die Zugriffsverletzung erst, wenn ich über end; springe.

Wird jetzt wohl noch daran liegen, dass er versucht, die Werte in eine Variable mit falschem Datentyp zu schreiben. Ich werd mal ein bisschen durch probieren.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#3

AW: dll einbinden / Pointer Probleme

  Alt 24. Apr 2012, 14:42
Hast du bei der anderen Funktion nicht "stdcall" als Aufrufkonvention angegeben?
Im Normalfall sind alle Funktionen einer DLL einheitlich.
Es scheint mir zumindest fragwürdig warum es bei dieser Funktion dann plötzlich "cdecl" sein sollte.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#4

AW: dll einbinden / Pointer Probleme

  Alt 25. Apr 2012, 07:36
Wird auch sehr wahrscheinlich STDCALL sein, da es beim beenden crashed, dort wo "end" an die Rücksprungadresse springt die durch doppeltes aufräumen (CDECL/STDCALL) nicht stimmt.
Hier mal ein Denkanstoß, wenn man rausfidnen will ob cdecl/stdcall, auch wenn man jetzt nicht direkt den Aufruf hat, kann man das am retn in der dll festmachen, wenn man weiß dass mind. 1 parameter vorhanden ist.

http://forum.madshi.net/viewtopic.php?t=1149
  Mit Zitat antworten Zitat
Pow3rus3r

Registriert seit: 17. Apr 2012
43 Beiträge
 
Delphi XE Professional
 
#5

AW: dll einbinden / Pointer Probleme

  Alt 25. Apr 2012, 09:20
Die Aufrufkoncention war mir von vorn herein unbekannt, deshalb hatte ich zuerst damit rumprobiert (zuerst stadcall, dann cdecl - jedoch bei allen Funktionen gleich). Mit CDECL hatte der Verbindungsaufbau zum Steuergerät zunächst funktioniert, deshalb hatte ich es dabei belassen.

Ich habe es nun wieder alles auf stdcall umgestellt und was soll ich sagen...es funktioniert!
Kurzum: Ihr seid der Wahnsinn! Danke für eure Geduld! Als Delphi Newbie ist der Einstieg leider etwas holprig.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:05 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