AGB  ·  Datenschutz  ·  Impressum  







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

LPVoid > Delphi

Ein Thema von FrankBrin · begonnen am 26. Jun 2008 · letzter Beitrag vom 26. Jun 2008
Antwort Antwort
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#1

LPVoid > Delphi

  Alt 26. Jun 2008, 11:18
Hallo miteinander,
übersetze gerade ein C Headerfile von einer DLL nach Delphi. Jetzt gibt es da ein Funktionsaufruf der so aussieht

BRADI_API BOOL WINAPI AdiGetKeyMatrix(LPVOID pKeyMatrix, DWORD Size);

Mein Problem ist nun diese LPVOID pKeyMatrix zu übersetzen. Es handelt sich hierbei um ein Array von max. 16 Byte, das von der Funktion beschrieben wird. Den Rest habe ich schonmal so übersetzt:

function AdiGetKeyMatrix( ???; Size: DWORD ): Boolean; stdcall ; external 'brADI.dll';

Wer kann mir da weiterhelfen?

Gruß
Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: LPVoid > Delphi

  Alt 26. Jun 2008, 11:27
Hallo Frank,

LPVOID entspricht Pointer. Wenn es sich um ein Array fester Länge handeln würde, dann hättest du wohl einen entsprechenden typisierten Pointer deklariert und verwendet. Vermutlich wird die wahre Größe im zweiten Parameter übergeben. Da ist es dann besser, wenn du einen typisierten Pointer auf das erste Element des Arrays übergibst. Du erreichst damit ein wenig Typsicherheit.

Freundliche Grüße
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: LPVoid > Delphi

  Alt 26. Jun 2008, 11:34
Hallo marabu,
versteh ich das jetzt richtig?
Einen typisierten Pointer machen

type pPointr: @LongWord;

und den in der Funktion übergeben - aber wie?

function AdiGetKeyMatrix( var pPointr ??? ; Size: DWORD ): Boolean; stdcall ; external 'brADI.dll';

Da bin ich mir jetzt nicht sicher

Danke schon mal
Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: LPVoid > Delphi

  Alt 26. Jun 2008, 11:37
Eher so:

Delphi-Quellcode:
const
  bradi = 'brADI.dll';
  
  function AdiGetKeyMatrix( pKeyMatrix: PLongWord; Size: DWORD ): Boolean; stdcall ; external bradi;
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: LPVoid > Delphi

  Alt 26. Jun 2008, 11:45
Danke marabu,
werd ich so mal einsetzen - zum Testen komm ich dann wohl erst morgen. Da sind noch 100000 andere Funktionen zum Übersetzen.

Gruß Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: LPVoid > Delphi

  Alt 26. Jun 2008, 12:23
100.000 Zeilen?

Donnerlittchen!

Vielleicht brauchst du da etwas Hilfe.
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: LPVoid > Delphi

  Alt 26. Jun 2008, 13:32
Danke für den Tipp, aber der konvertiert wie alle anderen Konverter auch nur Müll!

Mittlerweile habe ich dann auch die Datei von Hand übersetzt, zum Glück waren das Meiste an dem Headerfile nur Kommentare.

Gruß
Frank
Frank Brinschwitz
  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 14:46 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