AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi C++ "..." ins Delphi Übersetzten
Thema durchsuchen
Ansicht
Themen-Optionen

C++ "..." ins Delphi Übersetzten

Ein Thema von nitschchedu · begonnen am 28. Aug 2007 · letzter Beitrag vom 22. Dez 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#1

C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 11:45
Hallo Leute,
ich übersetzte gerade wieder mal was ins Delphi.
Und dabei bin ich auf vollgende Funktion gestossen:
Code:
VixError Vix_GetProperties(VixHandle handle,
                           VixPropertyID firstPropertyID, ...);
Wie übersetzte ich das "..." ins Delphi ? *ratlos*

PS: VixError, VixHandle, VixPropertyID sind Integer <--
Programmieren ..... .
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 11:56
für mich sieht das nach offenem parameter aus wo man noch mehrere weitere parameter angeben kann.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#3

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 12:00
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 "...".
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#4

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 12:12
Stimmt vom printf kenne ich das auch aber wie schreibe ich das in Delphi ?

function Vix_GetProperties(handle: VixHandle; firstPropertyID: VixPropertyID; ....): VixError; die Punkte gehen ja in Delphi nicht !?
Programmieren ..... .
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 12:13
nennt sich va_list (so auch der typ)

siehe http://www.c-plusplus.de/forum/viewt...is-284500.html

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)
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#6

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 12:19
Willst du die Signatur übersetzen, damit du die C++-Funktion in deinem Delphiprogramm aufrufen kannst, oder willst du die komplette Funktion übersetzen?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
nitschchedu

Registriert seit: 24. Mär 2006
300 Beiträge
 
Delphi 7 Professional
 
#7

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 12:24
Zitat von Dezipaitor:
..
procedure xy(<deine Parameter>; const XY : array of const)
Das habe ich auch gerade in ne Anderen Projekt gefunden ^^ .. das würde dann so aussehen

function Vix_GetProperties(handle: VixHandle; firstPropertyID: VixPropertyID; Args:array of const): VixError; ...

Zitat von OregonGhost:
Willst du die Signatur übersetzen, damit du die C++-Funktion in deinem Delphiprogramm aufrufen kannst, oder willst du die komplette Funktion übersetzen?
Das ist ne Export Funktion einer DLL, ich will eine DLL benutzten und in C++ steht die Funktion so da.
Programmieren ..... .
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#8

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 13:21
lass es uns wissen, wenn das Array of Const kompatibel mit dem C++ ist.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 13:31
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).
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: C++ "..." ins Delphi Übersetzten

  Alt 28. Aug 2007, 16:36
Zitat:
Ich weiss jetzt gerade die Syntax nicht, aber eine variable Anzahl von Parametern laesst sich in neueren Delphi-Versionen deklarieren.
Wo? Ab wann? Will haben!
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 06:24 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