AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Übergabe eines CStrings in Delphi an eine DLL-Funktion
Thema durchsuchen
Ansicht
Themen-Optionen

Übergabe eines CStrings in Delphi an eine DLL-Funktion

Ein Thema von DXler · begonnen am 7. Okt 2004 · letzter Beitrag vom 29. Nov 2011
 
Benutzerbild von DXler
DXler

Registriert seit: 5. Nov 2003
53 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Übergabe eines CStrings in Delphi an eine DLL-Funktion

  Alt 7. Okt 2004, 00:00
Folgendes Problem:

Ich habe mich mit jemanden zusammengeschlossen und wir haben vor für die DVBs-Karte Nexus, die von TechnoTrend / Hauppauge hergestellt wird, ein Programm zu schreiben mit dem man TV gucken kann.

TechnoTrend hat hierfür ein SDK herausgebracht. Allerdings ist dies in C++ und wir wollen das in Delphi umsetzen.

Die Karte zu initialisieren haben wir bereits geschafft. Als nächster Schritt muß jetzt allerdings die Firmware der Karte geladen werden. Dies geschieht über eine Funktion die in einer DLL integriert ist (wie alle weiteren Funktionen auch). Um auf die Funktionen zuzugreifen, müssen die Funktionen in einer Klasse eingebettet sein (was kein Problem ist).

Hier ist nun die entsprechende C++-Funktion die die Firmware auf die Karte überträgt (der genaue Funktionsname ist geändert, damit wir nicht gegen die Lizenzbestimmung von TechnoTrend verstoßen):

Code:
DVB_ERROR xyz(CString* path);
"CString" ist in unseren Augen der Typ, der an die Routine übergeben werden muß. "path" ist die Variable die den Pfad zur Firmware enthält.


Im Beispiel, das dem SDK beiliegt, sieht der Aufruf wie folgt aus (Funktionsname: siehe weiter oben):

Code:
   CString sPath,s2,s3;
   GetExePath(sPath,s2,s3);
   sPath += CString("Boot\\") + "24" + CString("\\") ;

   error = abc.xyz(&sPath);
"abc" steht für die Klasse und "xyz" ist die Funktion.

Unsere Frage: wie sieht der 2. Teil entsprechend in Delphi aus?


Das Erstellen der Klasse für den Funktionsaufruf ist bereits erledigt und funktioniert.

Wir haben schon einige Variationen mit PChar probiert. Diese enden allerdings in einer "Access Violation" die sich (komischerweise?) auf die "MFC42.dll" bezieht.
  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 00:12 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