![]() |
C++ "..." ins Delphi Übersetzten
Hallo Leute,
ich übersetzte gerade wieder mal was ins Delphi. Und dabei bin ich auf vollgende Funktion gestossen:
Code:
Wie übersetzte ich das "..." ins Delphi ? *ratlos*
VixError Vix_GetProperties(VixHandle handle,
VixPropertyID firstPropertyID, ...); PS: VixError, VixHandle, VixPropertyID sind Integer <-- |
Re: C++ "..." ins Delphi Übersetzten
für mich sieht das nach offenem parameter aus wo man noch mehrere weitere parameter angeben kann.
|
Re: C++ "..." ins Delphi Übersetzten
SirThornberry hat recht. So wird das auch bei printf gemacht.
printf("Test"); printf("Zahl: %d",i); printf("Zahl: %d, noch eine: %d",i,j); usw. Natürlich kann man nicht für jede Anzahl an Parametern eine neue Funktion schreiben, deshalb gibt es "...". |
Re: C++ "..." ins Delphi Übersetzten
Stimmt vom printf kenne ich das auch aber wie schreibe ich das in Delphi ?
Delphi-Quellcode:
die Punkte gehen ja in Delphi nicht !? :(
function Vix_GetProperties(handle: VixHandle; firstPropertyID: VixPropertyID; ....): VixError;
|
Re: C++ "..." ins Delphi Übersetzten
nennt sich va_list (so auch der typ)
siehe ![]() Ich glaube aber nicht, dass man es nach Delphi so einfach portieren kann. Das muss man erstmal an einer eigenen C++ Fkt testen. Denke mal, dass "..." entweder ein Array von irgendwas(bester Fall) oder ein Pointer ist. Du müsstest also den Aufruf kapseln in einer eigenen Funktion die den Aufruf übernimmt. zum test kannste mal folgendes verwenden procedure xy(<deine Parameter>; const XY : array of const) |
Re: C++ "..." ins Delphi Übersetzten
Willst du die Signatur übersetzen, damit du die C++-Funktion in deinem Delphiprogramm aufrufen kannst, oder willst du die komplette Funktion übersetzen?
|
Re: C++ "..." ins Delphi Übersetzten
Zitat:
Delphi-Quellcode:
...
function Vix_GetProperties(handle: VixHandle; firstPropertyID: VixPropertyID; Args:array of const): VixError;
Zitat:
|
Re: C++ "..." ins Delphi Übersetzten
lass es uns wissen, wenn das Array of Const kompatibel mit dem C++ ist.
|
Re: C++ "..." ins Delphi Übersetzten
Ich weiss jetzt gerade die Syntax nicht, aber eine variable Anzahl von Parametern laesst sich in neueren Delphi-Versionen deklarieren. Die Funktion ist dann uebrigens zwingend cdecl.
va_list ist nicht die richtige Deklaration. Das ist der Mechanismus mit dem in C eine variable Anzahl Parameter implementiert wird. Dieser Mechanismus ist seinerseits in C benutzbar und ueblicherweise gibt es Funktionsfamilien mit allen Parametervarianten (namentlich printf). |
Re: C++ "..." ins Delphi Übersetzten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 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 by Thomas Breitkreuz