Gibt es eine einfache Möglichkeit, nach Port eine Win32-Anwendung in Delphi 2009 auf .NET?

StackOverflow https://stackoverflow.com/questions/132299

  •  02-07-2019
  •  | 
  •  

Frage

Wir wollen von Delphi 7.0 Delphi 2009, wandern mit einem modernen IDE und aktueller Stand der Technik zu bleiben. Unsere Zielplattform .NET. Was ist am besten Weg, dieses Ziel zu erreichen?

War es hilfreich?

Lösung

Ich würde an Bord der Unicode-Situation mit String-Handling übernehmen, die in von D2007 bis D2009 kamen - die in diesem Schritt beteiligten Änderungen Ihrer Anwendung viel beeinflussen könnten (nur Sie können dies sagen). Außerdem müssen Sie prüfen, welche Tools von Drittanbietern / Bibliotheken / Komponenten, die Sie verwenden. Nicht alles, was den Sprung auf D2009 noch gemacht hat, und es ist wahrscheinlich, dass einige weniger beliebten Komponenten könnten überhaupt nicht den Sprung machen.

Ein intelligenter Weg sein könnte wandern D7 bis D2007 (das ist ein gut ausgetretener Pfad, weitgehend schmerzlos mit vielen Siegen und wesentlichen Verbesserungen). Dann sind Sie in einem modernen, stabilen, hübsch-up-to-date, unterstützt Delphi Plattform, von der Sie sich besser einen Sprung zu .Net auswerten kann.

Meine eigene Meinung zu diesem letzten Stadium einige der anderen Kommentare echo würde wohlgemerkt - es sei denn, es gibt einige große Gewinn Sie von .Net bekommen, sehe ich nicht, warum Sie weg von Delphi bewegen würde. Mit den modernen Anforderungen der verschiedenen Laufzeiten und Service Pack, denke ich, Delphi immer ein immer tragfähige relevant Werkzeug für Win32-Entwicklung. Entweder entwickeln den Code von D7 bis D2007 / D2009, oder einfach nur von D7 zu .Net springen; zu einem tun und dann scheint das andere ein wenig seltsam!

Andere Tipps

Beachten Sie, dass D2009 ist eine win32-Version und nicht .net. Ich nehme an, Sie einen zwei Schritte Weg, ersten Schritt D2009 machen wollen und dann .net?

Zum Glück ist delphi eine sehr stabile Plattform und es ist viel einfacher, alte Anwendungen auf die neueste Version zu konvertieren, aber Sie haben andere Sache zu prüfen.

Wenn Ihre Anwendung BDE wird mit einem Db zuzugreifen dann wandeln sie eine andere Technologie zu verwenden, wie ADO oder DBX.

Wenn Sie 3rd-Party-Komponenten verwenden, müssen Sie es existieren Versionen für D2009 und / oder .NET

Ein sehr heikeler Aspekt ist String-Handling. Wenn Sie Zeichenfolgen verwenden „normal“ sollten Sie keine großen Probleme haben, aber wenn Sie Zeichenfolgen als „Byte-Puffer“ verwenden, wie Sie in C tun, dann müssen Sie vorsichtig sein und versuchen, dass Teile neu zu schreiben. Die Faustregel ist „versucht alle PChar ist in Ihrem Code, um loszuwerden“.

Migration von Delphi 7 Delphi 2009 ist wahrscheinlich gerade nach vorn, da nur geringfügige Änderungen (wie die vor kurzem diskutiert Bewegung von ANSI in Unicode-Strings) waren. Der Umzug in .NET ist nicht so geradlinig, though. Zwar gibt es eine VCL.NET ist die Migration von GUIs möglich, severeal andere Dinge macht, wird nicht funktionieren. So könnte man sich vorstellen, die Win32-Code und .NET-Code, so dass sie zusammen über COM zu bringen. (Ich hoffe, Sie schon COM wissen, sonst ist dies wahrscheinlich nicht eine Option; -))

Delphi 2009 nur Win32 zum Ziel hat. Für .NET können Sie RAD Studio 2007 verwenden, die mit kommt Delphi Persönlichkeit für .NET und es sollte eine einfache VCL-Anwendung zu VCL.NET ziemlich einfach zu portieren sein, die das .NET Framework 2.0 abzielt. Wenn Sie jedoch verwenden, um alle Komponenten von Drittanbietern und Bibliotheken haben Sie für ihre .NET-Alternativen zu prüfen, zu.

Wenn Sie diese zu viel Arbeit wäre oder wenn Sie die neueste .NET Framework ausrichten möchten könnten Sie besser dran, Ihr Projekt von Grund auf neu Umschreiben mit Microsoft Visual Studio und C #.

Disclaimer:. Ich habe keine Erfahrung bei der Portierung Projekte Delphi Win32 so .NET dies nur meine bescheidene Meinung ist

Porting ist nie einfach. Doch die Semantik zwischen Delphi und .NET sind sehr nah, da beide Anders Hejlsberg als leitender Architekt hatte. Sie werden wahrscheinlich benötigen die Win32 VCL Anrufe in die entsprechenden VCL.NET Sachen zu ersetzen.

Sie können auf das CodeGear RAD Studio aktualisieren mögen, so dass Sie eine IDE für Delphi und .NET-Sprachen (vor allem C #).

lassen haben

Eine Menge Zeit konnte ich in Kontrolle Ersatz fallen, wenn von einer Technologie zur anderen. Zum Beispiel konnte ich BDE-Datenbank steuert mit ihrem ADO.NET Ersatz ersetzen, ohne wirklich Code ändern zu müssen. Letztlich besitzen Sie den Code und wissen besser als jeder von uns.

Warum wollen Sie das .NET-Framework ausrichten möchten, wenn Sie einige sehr gute Unterstützung für Win32 Executables haben? Delphi ist bereits ein kleiner Teil der Industrie und Delphi mit .NET noch kleiner. Delphi wird immer ein Bürger zweiter Klasse in der .NET-Welt sein. Delphi ist bereits ein erster Klasse Win32 Bürger.

auf Giacomo Antwort über Folgen, wenn Sie BDE verwenden, dann kann ich MicroOLAP DAC http: // www. microolap.com/ - Dies wird Ihnen viel Zeit sparen nicht mit Ihnen Code, um etwas anderes zu konvertieren. Ich verwende PostgresDAC, dieses Produkt ist sehr stabil und schnell.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top