AGB  ·  Datenschutz  ·  Impressum  







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

Hex to String

Ein Thema von XXcD · begonnen am 9. Apr 2008 · letzter Beitrag vom 11. Apr 2008
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#21

Re: Hex to String

  Alt 11. Apr 2008, 12:11
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:
function StringToHex(sMessage: string): string; stdcall;
external 'dll.dll';
Wenn ich die Anwendung starte wird mir direkt ne Fehlermeldung rausgegeben, dass die Funktion StringToHex in der dll.dll nicht gefunden wurde.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#22

Re: Hex to String

  Alt 11. Apr 2008, 12:17
Zitat von XXcD:
Also mit dem COnverter weiß ich garnicht ob es sowas gibt und die DLL habe ich schon gemacht.
Ich bin erstaunt, dass VB überhaupt DLLs erstellen kann. Aber du kannst definitiv diese Funktion in Delphi genauso nachbilden, somit ist die Frage ob sich der Aufwand auch nur ansatzweise lohnt.

Zitat von XXcD:
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:
function StringToHex(sMessage: string): string; stdcall;
external 'dll.dll';
Wenn ich die Anwendung starte wird mir direkt ne Fehlermeldung rausgegeben, dass die Funktion StringToHex in der dll.dll nicht gefunden wurde.
Naja, hier postest du eine Funktion HexToString() und versuchst aber eine StringToHex() einzubinden. Das könnte Windows vllt. nicht auf Anhieb erkennen, dass es das gleiche sein soll.

Meinen Beitrag von zuvor beachtet? Oder einfach totschweigen da es doch einen illegalen Hintergrund hat?
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#23

Re: Hex to String

  Alt 11. Apr 2008, 12:49
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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#24

Re: Hex to String

  Alt 11. Apr 2008, 12:55
Moment, heißt das dein Code befindet sich in einer DLL?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#25

Re: Hex to String

  Alt 11. Apr 2008, 12:56
Also Der VB Code HexToString steckt in einer DLL Datei.
Der andere Code in Delphi ist direkt meine Anwendung.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#26

Re: Hex to String

  Alt 11. Apr 2008, 13:02
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,outchar):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 von Muetze1:
Du nimmst einen Integer mit einem Wert von 3. Diesen kannst du nun sehr schön ausgeben:

binär: 00000000 00000000 00000000 00000011
oktal: 000003
dezimal: 4
hexadezimal: 00 00 00 03
also die dezimale Darstellung erstaunt mich ein bisschen *g*

HTH Frank
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#27

Re: Hex to String

  Alt 11. Apr 2008, 13:06
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
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#28

Re: Hex to String

  Alt 11. Apr 2008, 13:15
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
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#29

Re: Hex to String

  Alt 11. Apr 2008, 13:40
Zitat von _frank_:
also die dezimale Darstellung erstaunt mich ein bisschen *g*
Ups, damit wollte ich das alles eigentlich machen, da aber dann nur ein Bit gesetzt ist, habe ich mich auf die drei besonnen... Nun ja, ausser dort. Es sollte natürlich auch 3 sein...

Zitat von XXcD:
..., aber ich kriege den Fehler ja beim öffnen: Der Prozedureinsprungpunkt "StringToHex" wurde in der DLL "...." nicht gefunden
Dann schau dir doch mal die Exporte der DLL an, die du erstellt hast. Dazu kannst u.a. den Dependency Walker nutzen oder auch das TDUMP Utility von Borland, was im Pfad liegt, wenn du Delphi installiert hast.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#30

Re: Hex to String

  Alt 11. Apr 2008, 13:56
Ok habe bei Google alles durchsucht aber mir hat nichts weitergeholfen.
Vielleicht weiß hier ja einer wie ich das mit den Exports mache.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 13:34 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