AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 13:02

Parameter dieser Suchanfrage:

Suche in Thema: C DLL in Delphi nutzen - AnsiString übergeben
Suche alle Beiträge, die von "nicodex" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 4 von insges. 4 Treffern
Suche benötigte 0.007s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Programmieren allgemein

    Re: C DLL in Delphi nutzen - AnsiString übergeben

     
      by nicodex, 9. Dez 2008
    Ich habe mal ein relativ generisches Beispiel erstellt - siehe Anhang.

    Ihr müsste euch beide auf eine Schnittstelle einigen - und dabei beachten, dass ihr mehr oder weniger nur Zeiger und Ordinalwerte verwenden könnt.
  • Forum: Programmieren allgemein

    Re: C DLL in Delphi nutzen - AnsiString übergeben

     
      by nicodex, 9. Dez 2008
    BSTR ist nicht Microsoft-Compiler-spezifisch (im Gegensatz zu _bstr_t).
    Es ist ein Typ der im Windows-SDK definiert wird (siehe SysAllocStringLen).

    function GetDeviceName(ABuffer: PAnsiChar; ABufferSize: LongWord): LongWord; stdcall;
    external '...' name '...';uint32_t __stdcall GetDeviceName(char *a_Buffer, uint32_t a_BufferSize);
  • Forum: Programmieren allgemein

    Re: C DLL in Delphi nutzen - AnsiString übergeben

     
      by nicodex, 9. Dez 2008
    Zu 2)
    Versuche auf C-Seite erst gar nicht sowas zu machen:BSTR Foo(...)Ja nach Compiler wird daraus intern unter Umständen:void Foo(..., BSTR *AResult)odervoid Foo(BSTR *AResult, ...)Man sollte nur void oder Ordinaltypen zurückgeben:void Foo(..., BSTR *AResult)DWORD Foo(..., BSTR *AResult)HRESULT Foo(..., BSTR *AResult)
  • Forum: Programmieren allgemein

    Re: C DLL in Delphi nutzen - AnsiString übergeben

     
      by nicodex, 9. Dez 2008
    Das Grundproblem ist: Wer gibt den Speicher wieder frei. Also muss es auf C-Seite auch eine Funktion dafür geben, oder man muss sich etwas anderes einfallen lassen: 1) Der Aufrufer (Delphi) stellt den Speicher bereit und übergibt einen Puffer und dessen Größe oder 2) man verwendet Strings, die über eine gemeinsame Schnittstelle verwendet werden können (Delphis WideString ist eine Kapselung des...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=nicodex&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=125629
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 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