15.08.2010 Version 1.3.3
|
http://www.texttransformer.de/Videos_ge.html
25.07.2010 Version 1.3.2
|
catch(...)
{
... // Anweisungen
throw;
}
05.07.2010 Version 1.3.1
|
if(...)
{
delete p;
p = NULL;
}
14.06.2010 Version 1.3.0.1
Nachkommastellen wurden wie Vorkommastellen behandelt. So wurde z.B. 1.2 aus 1.002. Dieser Fehler wurde behoben.
25.05.2010 Version 1.3.0
In Delphi entwickeln, C++ kompilieren:
Der übersetzte C++ Code kann nun mit dem Code synchronisiert werden, der in Delphi weiter entwickelt wird. Zu diesem Zweck können die Teile des Codes, die in C++ einer Nachbearbeitung bedurften, bereits in Delphi so vorformuliert werden, dass sie bei erneuter Übersetzung nicht erneut nachbearbeitet werden müssen. Bei der Präparation des Delphi-Codes kann auf eine vordefinierten Konstante zurückgegriffen werden, so dass mittels bedingter Kompilierung bestimmte Codeabschnitte nur für die Übersetzung nach C++ relevant sind, während andere Abschnitte nur für den Delphi-Compiler sichtbar sind. Darüber hinaus können komplette C++-Codeabschnitte bereits so in den Delphi-Code eingefügt werden, dass sie bei der Übersetzung in die Ausgabe übernommen werden, den Delphi-Compiler aber nicht stören.
Weitere Neuerungen in Delphi2Cpp 1.3.0 sind:
|
13.05.2010 Version 1.2.9
-In einem Log-Fenster werden nun einzelne Schritte der Übersetzung dokumentiert und Warnungen und Fehlermeldungen ausgegeben.
-Durch exaktere Behandlung von Namensräumen wurde die Qualität der Übersetzung weiter verbessert.
02.05.2010 Version 1.2.8
-Die Reihenfolge von Typdefinitionen wird nun korrigiert. Die Definitionen werden erst dann geschrieben, wenn der definierende Type bekannt ist. Zugleich wird damit die Erkennung der Typen an späteren Stellen im Code verbessert. Siehe in der Hilfe den Abschnitt: "Order of type definitions".
-Botschaftsbehandlungsmethoden werden jetzt unter Verwendung des VCL_MESSAGE_HANDLER-Makros übersetzt.
-goto-Anweisungen werden nun übersetzt und das Update enthält viele weitere kleine Verbesserungen.
-Es gibt mehr und mehr Feedback von Benutzern, was stark zu der Verbesserung von Delphi2Cpp beiträgt. Vielen Dank an sie alle!
25.04.2010 Version 1.2.7
Eine Reihe zusätzlicher Übersetzungsoptionen ist hinzugekommen:
|
Außerdem gibt es wieder einige Verbesserungen der Übersetzungsqualität und Fehlerbehebungen:
|
18.04.2010 Version 1.2.6
Stark verbesserte Übersetzungsergebnisse, weil
-die Übergabe von Strukturen an Funktionen in WinProcs jetzt in Übereinstimmung mit der CBuilder VCL als Übergabe von Adressen interpretiert wird
-zwischen boolschen und bitweisen "and" und "or" Operator unterschieden wird
-Default-Parameter in verschachtelten Funktionen berücksichtigt werden
-und es viele weitere Detailverbesserungen gibt.
-Außerdem wird jetzt für den Zugriff auf Elemente die übliche Schreibweise mit dem Zeiger-Operator "a->" ausgegeben statt der bisherigen "(*a).".
-Überflüssige Set-Definitionen werden vermieden.
07.04.2010 Version 1.2.5
-Die Liste der Bezeichner, die vom Präprozessor zur Vereinheitlichung der Schreibweisen erzeugt wird, kann nun gespeichert werden. In einer nachfolgenden Sitzung kann die Liste wieder geladen werden, um in weiteren Übersetzungen die gleichen Schreibweisen beizubehalten.
-In der professional Version von Delphi2Cpp gibt es nun eine zusätzliche Ersetzungstabelle für den Übersetzer ähnlich der schon vorhandenen Tabelle für den Präprozessor.
-Die Behandlung von Arrays wurde überarbeitet. Dabei wurde die Strategie der Indexierung geändert. (Mehr Informationen zu diesem Punkt finden Sie in den Abschnitten der Hilfe: Statische Arrays und Offene Arrays.)
24.03.2010 Version 1.2.4
-Initialisierung und Finalisierung von Units.
-Initialisierungsroutinen für array's.
-Diverse weitere kleine Verbesserungen.
18.03.2010 Version 1.2.3
-Viele kleine spezielle Verbesserungen der Übersetzungsqualität
07.03.2010 Version 1.2.2
-Verschachtelte Delphi Funktionen werden nun in normale Klassenfunktionen entflochten. Alle nötigen Parameter werden an diese Funktionen übergeben.
-Überschriebene "properties" werden nun auch in C++ entsprechend überschrieben.
28.02.2010 Version 1.2.1
-Delphi2CppInstall.exe installiert nun eine dauerhaft nutzbare Demoversion von Delphi2Cpp. Das Demoprogramm liefert Übersetzungen in gleicher Qualität wie das lizensierte Programm. Jedoch ist die Menge des ausgegebenen Codes für den Implementationsteil auf 10000 Zeichen begrenzt und das Laden und Speichern von Code und Optionen ist nicht möglich. Beim Kauf einer Lizenz von Delphi2Cpp wird ein Link auf eine Version von Delphi2Cpp geliefert, in der sich die vollständige Funktionalität des Programms mittels der Lizenz freischalten lässt. Wie bisher gehört der Dateimananger nicht zur Funktionalität der Standardversion sondern ist nur in eder professional Version nutzbar.
-Zusätzliche Option für vorkompilierte Header.
-Verbesserung der Überzetzung von Zeigern auf Zeiger
-Kosmetische Verbesserungen:
a) statt der unüblichen Schreibweise
(*fo).bar , jetzt: fo->bar
b) statt der unüblichen Einrückung der Klammern:
if(...)
{
...
}
jetzt:
if(...)
{
...
}
17.02.2010 Version 1.2.0
- Optional kann nun C++-Code auch für andere Compiler als den CBuilder generiert werde. Für die anderen Compiler werden Delphi-properties eliminiert, indem ihre Vorkommen durch entsprechenden Read- bzw. Write-Methoden ersetzt werden.
- Schreibweisen und Übersetzungen von Bezeichnern können nun durch eine individuelle Übersetzungstabelle gesteuert werden.
- Die Qualität des Übersetzungsergebnisses wurde weiter gesteigert, insbesondere bezüglich der Behandlung von Arrayzeigern, Typecasts, __classid u.v.m
- Der Preis für Delphi2Cpp wurde entsprechend den erweiterten Fähigkeiten des Programms erneut leicht angehoben.
04.02.2010 Version 1.1.9
- An Stellen, wo C++ konstante Ausdrücke erwartet, werden in der Übersetzung nun die Werte von Konstanten ausgegeben, statt der Konstanten selbst.
- Für globale Funktionen wird nun registriert, ob der Rückgabetyp ein Zeiger ist. Bisher wurde das vergessen.
- Die Änderung im letzten Update String-Parameter "(s : string)" als "(const string& s)" zu übersetzen wurden rückgängig gemacht, weil dies zu Konflikten mit der CBuilder VCL führte.
- Ein Fehler wurde beseitigt, der dafür verantwortlich war, dass häufig falsche Übersetzungsalternativen für spezielle VCL-Funktionen ausgewählt wurden.
01.02.2010 Version 1.1.8
- Die Übersetzung des Implementationsteils der pas-Dateien erfolgt nun um ein mehrfaches schneller als bisher.
- Unterfunktionen verschachtelter Funktionen werden nun korrekt behandelt. Die Verschachtelung bleibt allerdings weiterhin bestehen.
- Verbesserungen bei der Behandlung von Stringadditionen und Stringparametern.
25.01.2010 Version 1.1.7
- Viele with-Anweisungen, die bisher nicht korrekt übersetzt wurden, werden nun korrekt analysiert und übersetzt
- Viele weitere kleine Verbesserungen.
17.01.2010 Version 1.1.6
- Deklarationen von Klassen werden nur noch in den tatsächlich eingeschlossenen Units gesucht.
- Unit-Namensräume werden in qualifizierten Bezeichnern nun korrekt mit zwei Doppelpunkten markiert. Z.B.: Graphics::...
- Die Ermittlung der Liste der Konstruktoren der Vorgängerklassen wurde verbessert.
06.01.2010 Version 1.1.5
- Fehlerpositionen im Fenster des Delphi-Quellcodes wurden bisweilen verschoben angezeigt, weil sie sich auf den vorverarbeiteten Code bezogen. Nun wird nach der Übersetzung in diesem Fenster der vorverarbeitete Code angezeigt.
- Kommentare aus dem Interfaceteil wurden nur lückenhaft reproduziert. Dies wurde verbessert.
- Konstanten des Interfaceteils wurden bisher als statische Konstanten in den C++-Headern übersetzt. Das konnte zu vielen Warnmeldungen des Compilers führen, wenn der Header in mehreren Dateien eingeschlossen wurde. Nun werden die Konstanten als extern deklariert und in der zugehörigen Implementationsdatei mit ihrem Wert instantiiert. Das kann in selteneren Fällen Fehler nach sich ziehen, wenn die Werte der Konstanten bereits im Header benötigt werden.
- Bisher wurden Arraydimensionen in C++ als Differenzen der oberen und unteren Begrenzung von Bereichen angegeben. Nun wird die obere Grenze als Dimension angegeben, damit sicher gestellt ist, dass Index-Zugriffe auf das Array dessen Begrenzung nicht übersteigen.
- Viele andere Verbesserungen an verschiedenen Übersetzungsdetails.
21.12.2009 Version 1.1.0
- Im übersetzten Code werden nun Instanzen von Strukturen als automatische Variablen angelegt und als Referenzen an Funktionen übergeben. Im Gegensatz dazu werden Klassen-Instanzen weiterhin über Zeiger manipuliert.
- "array of type"-Parameter werden nun standardmäßig als Referenzen auf dynamische Arrays interpretiert.
- Die Schreibweisen der TObject-Elemente sind jetzt im Präprozessor vorgegeben. So werden die Element auf jeden Fall erkannt.
- Globale Funktionen Und prozeduren werden jetzt erkannt.
- "String" wird nun korrekt als "String" übersetzt, nicht als "AnsiString".
- In Anbetracht eines weiteren Monats Arbeit zur Verbesserung der Übersetzungsqualität wurde der Preis für Delphi2Cpp angehoben. In der Testversion wird die Übersetzung nun nach 10000 Zeichen abgeschnitten.
14.12.2009 Version 1.0.9
- Die überschriebenen Konstruktoren einer Klasse werden nun automatisch um die vollständige Liste der nicht überschriebenen Konstruktoren ergänzt.
- Eine Funktion wird nun auch korrekt übersetzt, wenn der Funktionsname selbst anstelle der vordefinierten Variable "Result" benutzt wird.
- In Aufrufen wie "foo(['hello', 'world'])" unterscheidet Delphi2Cpp nun anhand des erwarteten Parametertyps zwischen der Übergabe eines Sets und eines array of const.
- Eine Menge anderer kleiner Ergänzungen und Verbesserungen.
08.12.2009 Version 1.0.8
- Die Typerkennung von Variablen in with-Anweisungen wurde verbessert.
- Deklarationen von friend-Klassen wurden nur in Klassen mit Vorgängern eingefügt. Nun werden sie für alle Klassen innerhalb einer Unit deklariert.
06.12.2009 Version 1.0.7
- Der Fehler wurde behoben, dass der Parser die Namen der speziell behandelten VCL Funktionen nicht erkennen konnte, wenn diese auf "inherited" folgen, z.B. "inherited delete".
- Zahlen, die mit '0' beginnen, wie z.B. '0943' wurden unverändert in der C++ Code geschrieben. C++ interpretiert solche Zahlen aber oktal. Jetzt werden die führenden '0'-Zeichen entfernt.
- Der Fehler wurde behoben, dass in Exponentialzahlen Exponenten durch ein Leerzeichen getrennt wurden.
- Spezielle Parameterdeklarationen wurden verbessert:
const Args: array of const -> const TVarRec * Args, const int Args_Size
const Value -> const int Value
03.12.2009 Version 1.0.6
- Wenn bei der Deklarierung einer neuen Klasse kein Vorgängertyp angegeben wird, verwendet Delphi automatisch TObject als Vorgänger. Dies wurde nun in C++ explizit gemacht.
- An den Stellen, wo Resource-strings verwendet werden, werden sie nun durch das entsprechende Makro zum Laden der Resource ersetzt.
- Ein Fehler wurde behoben, der manchmal die Erkennung des Typs von Variablen im aktuellen Bereich verhinderte.
02.12.2009 Version 1.0.5
- Konstruktoren ohne Parameter werden nicht mehr eingefügt.
- Aufrufe von Konstruktoren der Basisklasse ohne Parameter werden im Konstruktor des abgeleiteten Klasse auskommentiert, z.B.
// inherited::Create;
- Typinformationen von überschriebenen properties werden nun ausgewertet.
- Wird die Größe eines Arrays durch einen enumerierten Typ spezifiziert, so wird sie in C++ aus dem kleinsten und dem größten der enumerierten Werte berechnet.
01.12.2009 Version 1.0.4
- Verbesserung: forward-Deklarationen von VCL-Klassen in eingeschlossenen Units wurden nicht zur Ermittlung von Zeigertypen herangezogen
- Fehlende Konstruktoren in abgeleiteten Klassen werden automatisch eingefügt, z.B.
inline __fastcall virtual TDerivedComponent(TComponent* Owner) : inherited(Owner) { }
29.11.2009 Version 1.0.3
- Behandlung von Sets weiter verbessert.
Z.B. type TIntSet = set of 1..250; -> typedef System::Set < int/* range 1..250*/, 1, 250 > TIntSet;
- Variablen werden nun in den C++-Headern als extern qualifiziert und ihre Instanzen werden in den Implementations cpp-Dateien eingefügt.
26.11.2009 Version 1.0.2
- verdoppelte pseudo forward Deklaration der Art "class classname{}" wird nicht mehr generiert
- Zuweisungen von Sets wurden verbessert.
var MySet: set of 'a'..'z'; begin MySet := ['a','b','c']; ->
typedef System::Set < char, 97, 122 > test__0;
#define test__1 ( test__0 ()
<< char ( 97 ) << char ( 98 ) << char ( 99 ) )
System::Set < char, 97, 122 > MySet;
MySet = test__1;
25.11.2009 Version 1.0.1
- Der Präprozessor führt nun Include-Directiven aus
- Un/Defines in nicht definierten Bereichen werden nicht mehr ausgeführt
17.11.2009 Version 1.0.0 veröffentlicht, Frühkäufer-Preis 58,- €
english
| Letzte Neuigkeiten |
|
15.08.10
Delphi2Cpp 1.3.3 Fehlerbeseitigungen und andere kleine Verbesserungen [mehr...] |
|
25.05.10
Delphi2Cpp 1.3.0 In Delphi entwickeln, C++ kompilieren [mehr...] |
|
Ich muss mich nochmal für deinen Einsatz und die Qualität deiner Arbeit bedanken, das ist absolut überdurchschnittlich ..." Gerald Ebner
Significant Software
22-01-10
|
|
Diese Homepage ist aus einfachen Texten mit [Minimal Website ]generiert. |
Minimal Website ist mit Hilfe des TextTransformers hergestellt.
|
Der TextTransformer ist gemacht mit dem Borland
CBuilder
|