AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DLL-interface Probleme in Delphi2009
Thema durchsuchen
Ansicht
Themen-Optionen

DLL-interface Probleme in Delphi2009

Ein Thema von GPR-Man · begonnen am 28. Okt 2008 · letzter Beitrag vom 30. Okt 2008
Antwort Antwort
GPR-Man
Registriert seit: 28. Okt 2008
Hallo
Ich nutze eine DLL mit einem Delphi-Interface. Unter Delphi7 habe ich keine Probleme gehabt, seit der direkten Umstellung auf Delphi 2009 klappt leider nichts mehr. Das Öffnen der Datei erfolgt mit dem Befehl:

   file_id := H5Fopen(PChar(OpenDialog1.Files[0]), H5F_ACC_RDWR, H5P_DEFAULT); wobei das Interface so aussieht:

function H5Fopen(filename: PChar; flags: Cardinal; access_plist: hid_t): hid_t; stdcall external 'hdf5dll3dr.dllindex 62; Unter der Variabeln file_id erhalte ich unter Delphi2009 nur das Resultat -1, was einen Fehlschlag bedeutet.
Hängt dies mit der Unicode-Unterstützung zusammen? Falls ja, wie muss ich den Code abändern?
 
mkinzler

 
Delphi 11 Alexandria
 
#2
  Alt 28. Okt 2008, 13:48
Speichere den wert zuerst als expliziten AnsiString, bevor du ihn der Funktion übergibst.
Markus Kinzler
  Mit Zitat antworten Zitat
Lasse2002

 
RAD-Studio 2009 Pro
 
#3
  Alt 28. Okt 2008, 13:49
PChar verweist in D2009 auf PWideChar. Also solange deine DLL die Daten im Ansi-Format erwartet, mußt du diese als PAnsiChar übergeben.

   file_id := H5Fopen(PAnsiChar(AnsiString(OpenDialog1.Files[0])), H5F_ACC_RDWR, H5P_DEFAULT); function H5Fopen(filename: PAnsiChar; flags: Cardinal; access_plist: hid_t): hid_t; stdcall external 'hdf5dll3dr.dllindex 62; Besser wäre es natürlich, wenn die dll auch eine Wide-Funktion hätte, damit du die gesamten Vorteile von Unicode nutzen kannst.
  Mit Zitat antworten Zitat
GPR-Man

 
RAD-Studio 2009 Pro
 
#4
  Alt 30. Okt 2008, 07:13
Besten Dank! Nachdem ich den Rest des Interface und des Programms entsprechend angepasst habe, läuft das Programm wieder.
  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 05:24 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