AGB  ·  Datenschutz  ·  Impressum  







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

C++ Header in Delphi übersetzen

Ein Thema von Strally · begonnen am 12. Apr 2012 · letzter Beitrag vom 12. Apr 2012
 
Strally

Registriert seit: 26. Aug 2010
20 Beiträge
 
Delphi 10.4 Sydney
 
#1

C++ Header in Delphi übersetzen

  Alt 12. Apr 2012, 13:35
Hallo,

ich habe ein "kleines" Problem beim aufruf einer DLL - es kommt zu einer Zugriffsverletzung.

Der C-Header ist folgendermaßen deklariert:

Code:
DECLARE_HANDLE(HdMWMONRMXMLIMP);     // Handle fuer Import

extern BOOL DLLEXP MwmOnrmXmlImpInit(HdMWMONRMXMLIMP* phOnrm, wchar_t* pszLicenseId,
                                     MwmOnrmXmlError* pErrorInfo);

extern BOOL DLLEXP MwmOnrmXmlImpOpen(HdMWMONRMXMLIMP hOnrm, wchar_t* pszFile);
ich habe das folgendermaßen ih Pascal übersetzt


Delphi-Quellcode:
type
  fPHandle = ^THandle;

 MwmOnrmXmlImpInit: function(phOnrm: fPHandle; pszLicenseId : PWideChar;
                              var pErrorInfo: tagMwmOnrmXmlError): Bool cdecl {$IFDEF WIN32} stdcall {$ENDIF};

 MwmOnrmXmlImpOpen: function(hOnrm: THandle;
                             var pszFile: PWideChar): Bool cdecl; {$IFDEF WIN32} stdcall {$ENDIF};
aufrufen im Code tue ich es folgendermaßen

Delphi-Quellcode:
var
  pHandle : THandle;
  sFile : String;
  s : PWideChar;
begin
  sFIle := 'Pfad der Datei';
  if MwmOnrmXmlImpInit((@pHandle),'0',pError) then //<-- dieser Aufruf funktioniert
  begin
     s := PWideChar(WideString(sFile));
     if MwmOnrmXmlImpOpen(pHandle,s) then //Hier kommt eine Zugriffsverletzung
  end;
end;
laut dem Entwickler der DLL kommt s nur als Hieroglyphen an - aber warum ist das so ?
Was mache ich falsch ???

Ich bedanke mich bereits jetzt für Anregungen und Vorschläge!

Mfg
Strally

Geändert von mkinzler (12. Apr 2012 um 13:41 Uhr) Grund: C-Tag/Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
 


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 19:04 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