![]() |
C++ --> Delphi übersetzen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Suche jemand oder mehrere, welche mir beim Übersetzen eines C++ Codes nach Delphi helfen. (auch nur einzelne Funktion möglich) Der Code findet ihr im Anhang. |
Re: C++ --> Delphi Übersetzen
helfen ist gut *g* an welcher Stelle kommst du nicht weiter? Wenn du hier die ganze cpp postest hat das nichts mit helfen zu tun sondern mit komplett erledigen lassen.
|
Re: C++ --> Delphi Übersetzen
z.B hier
Code:
CComBSTR testid(searchID.length()+1,(const char*)searchID);
CComBSTR testtag(5,"SPAN"); |
Re: C++ --> Delphi Übersetzen
Das sind einfach die Definition zweier Objekte des entsprechenden Typs. Da Objekte in C++ Werttypen sind, werden so statische Objekte angelegt, die auf dem Stack liegen und deswegen auch nicht manuell freigegeben werden.
In Delphi geht das nicht (OK, mit den alten TurboPascal-Objekten schon, aber lass die Finger weg von denen), also musst du den Konstruktor zur Laufzeit explizit aufrufen:
Code:
Auch wenn ich das nicht ganz kapiere. searchId ist offensichtlich ein Objekt, im zweiten Parameter wird dieses aber in einen Zeiger auf ein Zeichen gecastet.
CComBSTR testid(searchID.length()+1,(const char*)searchID); /C++
test := CComBSTR.Creazte(searchId.length + 1, PChar(searchId); //Delphi Ich weiß zwar nicht Bescheid über den Aufbau von C++-Klassen, aber nach meinem dafürhalten wird dort der Zeiger auf die VMT übergeben? :? |
Re: C++ --> Delphi Übersetzen
searchID ist offensichtlich ein C++ String.
Der typecast soll nur den korrekten Typ fuer den Konstruktor erzwingen. Offensichtlich ist das aehnlich wie mit einem Delphi String, den man ja auch (fast) ungestraft zu einem PChar casten darf. |
Re: C++ --> Delphi Übersetzen
Zitat:
Außer natürlich, der Cast-Operator ist überladen :shock: |
Re: C++ --> Delphi Übersetzen
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Übrigens ist "(const char*)" ja LPCTSTR, insofern UNICODE/_UNICODE nicht definiert sind! Die Vermutung liegt nahe, da im zweiten String ja ein ANSI-Literal verwendet wird. |
Re: C++ --> Delphi Übersetzen
Zitat:
Ich muss mich erstmal an das Typecasting-Konzept von C++ gewöhnen :roll: |
Re: C++ --> Delphi Übersetzen
Zitat:
Da es ja Operatoren sind, die man explizit mit der Typkonversion von komplexen Klassen zu einfachen Typen beauftragen kann, ist es ja um sovieles einfacher. |
Re: C++ --> Delphi übersetzen
Liste der Anhänge anzeigen (Anzahl: 1)
Danke mal soweit!
Hätte noch einige Übersetzungs Fragen. Wie übersetzt man: 1.////////////////////////////////////////////////////////////
Code:
2.////////////////////////////////////////////////////////////
IHTMLDocument2 *lpHtmlDocument
Code:
so ?
if(!lpHtmlDocument)
return;
Delphi-Quellcode:
3.////////////////////////////////////////////////////////////if lpHtmlDocument = nil then Exit;
Code:
4.////////////////////////////////////////////////////////////
IUnknown *lpUnk;
IEnumVARIANT *lpNewEnum;
Code:
((IDispatch*)frame).QueryInterface(IID_IHTMLWindow2, (void**)&elem);
In der Anlage gibt's mal erste Übersetzungs-Versuche. (hauptsächlich search & replace von gewissen Zeichen) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:25 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