![]() |
Re: Hex to String
Hab jetzt noch eine Frage dazu, kann ich auch irgendwie die function aus VB in Delphi direkt benutzen?
Entweder den VB Code zu einem Delphi code convertieren, oder in VB eine DLL schreiben und die dann in Delphi einbinden. Also mit dem COnverter weiß ich garnicht ob es sowas gibt und die DLL habe ich schon gemacht. VB DLL: Public Function HexToString(sMessage As String) As String Dim i As Integer For i = 1 To Len(sMessage) Step 2 HexToString = HexToString & Chr(Int("&h" & Mid(sMessage, i, 2))) Next End Function Delphi Code:
Delphi-Quellcode:
Wenn ich die Anwendung starte wird mir direkt ne Fehlermeldung rausgegeben, dass die Funktion StringToHex in der dll.dll nicht gefunden wurde.
function StringToHex(sMessage: string): string; stdcall;
external 'dll.dll'; |
Re: Hex to String
Zitat:
Zitat:
Meinen Beitrag von zuvor beachtet? Oder einfach totschweigen da es doch einen illegalen Hintergrund hat? |
Re: Hex to String
Ohh Sorry war nur nen schreibfehler von mir ich meine natürlich StringToHex.
Also in meinem Programm habe ich schon alles richtig war nur im Forum falsch geschrieben. Ich glaube ich habe irgendwann auch mal gelesen, dass eine compilierte DLL, egal in welche Sprache geschrieben immer gleich ist. Also verstehe ich nicht warum das nicht funktioniert. |
Re: Hex to String
Moment, heißt das dein Code befindet sich in einer DLL?
|
Re: Hex to String
Also Der VB Code HexToString steckt in einer DLL Datei.
Der andere Code in Delphi ist direkt meine Anwendung. |
Re: Hex to String
mit strings über Modulgrenzen hinweg zu arbeiten ist ziemlich ungünstig. Siehe auch die Hinweise im Unitkopf, wenn du versuchst, mit Delphi eine Dll zu erstellen. mal davon abgesehen vermute ich mal, dass VB Strings anders managed.
am besten du machsts wie die winapi, die verwendet 1. nur Pchar (2. ohne out-parameter gibt es die länge des Results zurück (für speicher-reservierung)) 3. die anwendung reserviert speicher und ruft die funktion mit out-Parameter (nochmal) auf der funktionskopf würde dann so aussehen: function (in,out:Pchar):integer; bei HexToStr. kannst ja normal davon ausgehen, dass der Ausgabestring halb so groß ist wie der Hex-String und vice versa. du machst es dir it der Dll zusätzlich schwer...versuhe lieber die funktion selbst auf delphi zu portieren... btw. Zitat:
HTH Frank |
Re: Hex to String
Aber wenn es daran liegt dann müsste ich doch ne Fehlermeldung kriegen wenn ich die Funktion benutze, aber ich kriege den Fehler ja beim öffnen: Der Prozedureinsprungpunkt "StringToHex" wurde in der DLL "...." nicht gefunden
|
Re: Hex to String
kenn mich mit VB nicht so aus, aber wenn der Name stimmt, hast du evtl. den Export vergessen, in delphi geht das über die exports-klausel.Ohne diese wird in die dll keine Tabelle mit den Namen hinterlegt, somit sind die funktionen von außen nicht per Name anspechbar.
Gruß Frank |
Re: Hex to String
Zitat:
Zitat:
|
Re: Hex to String
Ok habe bei Google alles durchsucht aber mir hat nichts weitergeholfen.
Vielleicht weiß hier ja einer wie ich das mit den Exports mache. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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