Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Einspungname in Dll (https://www.delphipraxis.net/66329-einspungname-dll.html)

hanspeter 28. Mär 2006 15:22


Einspungname in Dll
 
Hallo,

kann es sein, dass die Länge von Procedure/Function Namen in einer DLL längenbegrenzt sind?.
Ich habe hier den Effekt, dass ein Procedure Name > 12 Zeichen nicht funktioniert.
GetProcaddress gibt zwar eine Adresse zurück, aber beim Versuch diese Adresse anzusprechen
hängt sich D2006 auf.

Gruß Peter

gmc616 28. Mär 2006 15:39

Re: Einspungname in Dll
 
Kann ich mir nicht vorstellen. Meine Funcktionsnamen in meinen DLL's haben teilweise weit mehr als 12 Zeichen. Ohne Probleme in D2006.

Hast du auch nicht vergessen die Direktiven (zb. stdcall) zu setzen, in der DLL und der HostApp?

hanspeter 28. Mär 2006 15:48

Re: Einspungname in Dll
 
Zitat:

Hast du auch nicht vergessen die Direktiven (zb. stdcall) zu setzen, in der DLL und der HostApp?
Ja, sonst würde es ja mit einem kürzeren Namen auch nicht gehen.

procedure init_Kommunikation -> Delphi hängt sich auf
procedure init_Komm -> es funktioniert.

Gruß Peter

shmia 28. Mär 2006 16:42

Re: Einspungname in Dll
 
Zitat:

Zitat von hanspeter
procedure init_Kommunikation -> Delphi hängt sich auf
procedure init_Komm -> es funktioniert.

Das hat nur indirekt mit der Namenslänge zu tun. Der längere Name bewirkt im Speicher eine Verschiebung des Programmcode oder Datensegments.
Der eigentliche Fehler ist entweder in der Procedure oder schon beim Aufruf passiert (oder schon einige Zeilen vorher).
Je nach Speicherlayout wirkt er sich aus oder eben nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz