![]() |
C Code in Delphi?
Guten Abend zusammen,
ich habe den unten stehenden Beispielquelltext in C. "einfuegen" ist eine Procedure aus einer dll-Datei, die ich jetzt aus meinem Delphiprogramm aufrufen möchte. Ich komme aber leider nicht mit den ganzen * und & klar :? Wie müssen also die mittleren 5 Zeilen in Delphi aussehen? Vielen Dank für die Hilfe :)
Code:
char db[10];
char eingabe[32]; char ergebnis[32]; char * erg_ptr; char ** erg_ptr_ptr; erg_ptr = &ergebnis[0]; erg_ptr_ptr = &erg_ptr; einfuegen(db, eingabe, erg_ptr_ptr); |
AW: C Code in Delphi?
So Einiges kann man sich aber aus den Namen ableiten.
Zitat:
Delphi-Quellcode:
:zwinker:
erg_ptr_ptr := @erg_ptr;
und die * sind jeweils eine Zeigerreferenz, also je ein "^". Zitat:
Delphi-Quellcode:
aka
erg_ptr: ^AnsiChar;
erg_ptr_ptr: ^^AnsiChar;
Delphi-Quellcode:
erg_ptr: PAnsiChar;
erg_ptr_ptr: ^erg_ptr; // oder PPAnsiChar, bzw ^PAnsiChar |
AW: C Code in Delphi?
Delphi-Quellcode:
var
// char ergebnis[32]; Ergebnis: array[0..31] of char; // char * erg_ptr; erg_ptr: PChar; // char ** erg_ptr_ptr; erg_ptr_ptr: PPChar; begin // erg_ptr = &ergebnis[0]; erg_ptr := @ergebnis[0]; // erg_ptr_ptr = &erg_ptr; erg_ptr := @erg_ptr; ... end; |
AW: C Code in Delphi?
Da CHAR eigentlich ein Byte, bzw. PAnsiChar ist, sollte es besser auch so definiert werden ... vorallem da der TE seine Delphi-Version verheimlicht. (ab D2009 gibt es sonst Probleme)
:gruebel:
Delphi-Quellcode:
var
db: array[0..9] of AnsiChar; eingabe: array[0..31] of AnsiChar; ergebnis: array[0..31] of AnsiChar; erg_ptr: PAnsiChar; erg_ptr_ptr: ^erg_ptr; //erg_ptr := @ergebnis[0]; //erg_ptr_ptr := @erg_ptr; //einfuegen(db, eingabe, erg_ptr_ptr); einfuegen(db, eingabe, @@ergebnis[0]); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 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