Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Übersetzen von pas nach hpp, dabei cpp Kommentare überge

  Alt 8. Feb 2008, 00:13
Zitat von mensch72:
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.
Nein, es gibt keine weitere Möglichkeit. Und er fügt die nicht am Anfang der Datei ein, aber vor dem aktuellen Deklarationsblock der behandelt wird. Sprich: HPPEMIT innerhalb von Records, Klassen, etc werden vor dieser in die hpp geschrieben. Aber ausserhalb dessen erscheinen die HPPEMIT an der Stelle wie in der PAS (das war das, was ich vorhin meinte...). Du kannst niemals innerhalb einer Struktur oder Klasse etwas per HPPEMIT einfügen etc. Allerhöchstens per EXTERNALSYM Methoden und Elmente des Records vor der Übertragung ins HPP ausschließen. Einzige Möglichkeit besteht darin, die Klasse komplett per HPPEMIT zu definieren und die Originalübertragung per EXTERNALSYM verhindern.

Zitat von mensch72:
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)
Da Records mit Methoden wie auch Properties sind grundsätzlich nicht zur Nutzung zu empfehlen, da Borland bei diesem neuen Feature gerade im Zusammenspiel C++ und Pascal nichts wirklich getestet hat. Siehe die folgenden QC Einträge von mir (nach denen habe ich es aufgegeben mich weiter damit zu beschäftigen, es bringt nichts). Diese Aussagen beziehen sich bislang auf BDS2006.

QC53958: using a set definition in pascal record including getter/setter let the C++ linker fail
QC53956: using HPP struct with methods will result in ILI2119
  Mit Zitat antworten Zitat