![]() |
Übersetzen von pas nach hpp, dabei cpp Kommentare übergeben
wenn man pas-Dateien vom C-Compilter übersetzen und nutzen möchte, und man Quelltext in c in die Pascal Datei einbinden möchte, an entsprechender Stelle, wie muss man das da deklarieren?
Delphi-Quellcode:
type
MyDateTime = packed record private FDateTime : Double; public function ToDateTime : TDateTime; procedure FromDateTime(Value : TDateTime); {$IFDEF TEST} MyDateTime& __fastcall operator =(const TDateTime Value) {this->FromDateTime(Value); return(*this);}; __fastcall operator TDateTime() {return (this->ToDateTime()); } {$ENDIF} end; Erzeute Hpp Datei sollte dann so aussehen:
Delphi-Quellcode:
struct MyDateTime
#pragma pack(push,1) struct MyDateTime { private: double FDateTime; public: System::TDateTime __fastcall ToDateTime(void); void __fastcall FromDateTime(System::TDateTime Value); MyDateTime& __fastcall operator =(const TDateTime Value) {this->FromDateTime(Value); return(*this);}; __fastcall operator TDateTime() {return (this->ToDateTime()); } } ; #pragma pack(pop) Oder aber in einem anderen Anwendungsfall, wenn ich einfach Kommentare auch mit übernehmen möchte? Welche Compileranweisung nimmt man da. HPPEMIT funktioniert nur für den Dateianfang ... vielen Dank! |
Re: Übersetzen von pas nach hpp, dabei cpp Kommentare überge
1. Von Pascal zu einem C Header geht nicht. Es können nur C++ Header erzeugt werden.
2. C Quellen können nicht von Pascal verwendet werden. Ausnahme: Du compilierst deine .C Dateien zu Objekts und definierst die Procedure als external unter Pascal und bindest die .OBJ mit der "Link" Compileranweisung {$L xxx.obj} mit ein. 3. Die $HPPEMIT Anweisungen werden genau dort eingefügt wo sie in der Quell-PAS stehen. Da gibt es keine Beschränkung von wegen Dateianfang o.ä. 4. Wo liegt das eigentliche Problem? Anscheinend hast du die Pascal Quelle ja schonmal in ein C++ BCB Projekt reingezogen und dir das HPP erstellen lassen. |
Re: Übersetzen von pas nach hpp, dabei cpp Kommentare überge
Zitat:
zu 2: nicht gewollt zu 3: {$HPPEMIT 'abc'} erscheint immer am Anfang des erzeugten hpp Files, und nicht in der Klasse. (leider) Deswegen die Frage, ob es noch einen anderen Compilerschalter dafür gibt. zu 4: Überladene Operatoren von Records in Delphi2006/2007 werden nicht ins HPP übernommen und müssten nachträglich seperat in cpp Syntax im hpp von Hand ergänzt werden. (schlecht wäre eine Neucompilierung des pas Files, da alle Handänderungen im hpp wieder verschwinden) |
Re: Übersetzen von pas nach hpp, dabei cpp Kommentare überge
Zitat:
Zitat:
![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 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