Entwickler-Ecke

Andere .NET-Sprachen - Delphi in Delphi.NET konvertieren


researcher - Mo 02.03.09 18:02
Titel: Delphi in Delphi.NET konvertieren
Hallo!

Ich beschäftige mich derzeit mit Delphi und bin auf ein sehr interessantes Thema gestoßen. Und zwar würde ich gerne ein altes Delphi Projekt in Delphi.NET konvertieren.

Hat von euch jemand schon Erfahrungen damit bzw. gibt es nützliche Tools dafür? Eine 100%ige Portierung wird zwar nicht möglich sein, aber wenn mir ein existierendes Tool ein paar Schritte abnimmt, wäre ich schon sehr zufrieden damit ;-)

Danke und lg

researcher


Moderiert von user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 02.03.2009 um 17:04


Christian S. - Mo 02.03.09 18:04

Hallo!

Delphi .NET ist tot. Es wurde durch Delphi Prism ersetzt. (Daher verschieb ich mal)

Für die Portierung von Delphi nach Delphi Prism dürften folgende Links interessant sein:
http://prismwiki.codegear.com/en/Oxidizer
http://prismwiki.codegear.com/en/ShineOn

Grüße
Christian


researcher - Di 03.03.09 15:01

Ah danke für den Hinweis und die nützlichen Links!

Hat damit jemand schon Erfahrungen gesammelt? Lt. Wiki soll die Syntax ja zu 99% in die neue von prism umgewandelt werden können.


Carla - Do 05.03.09 09:10

user profile iconresearcher hat folgendes geschrieben Zum zitierten Posting springen:
Ah danke für den Hinweis und die nützlichen Links!

Hat damit jemand schon Erfahrungen gesammelt? Lt. Wiki soll die Syntax ja zu 99% in die neue von prism umgewandelt werden können.


Schön wärs.
Alles was GUI ist muß neu gemacht werden. Alles was VCL ist kann nicht verwendet werden.
Letzendlich hat man nach der automatischen Convertierung einen schwer wartbaren Code.
Da Delphi nahezu alle modernen Sprachkonstrukte fehlen, sind effizientere Lösungen bei der Neuprogrammierung möglich.
Für den Anwender des Programmes entsteht (außer kleineren Updates) kein nennenswerter Effekt.
Fazit neu machen ist effektiver.
Wenn man dann noch auf WPF wechselt, ist es besser gleich bei C# zu bleiben.

Delphi Module können vorerst weiter verwendet werden.
Benötige ich Teile aus Delphi, dann diese in dll auslagern, als Comserver bereitstellen oder über die Hydra-Bibliothek von
Remobjects andocken.

Gruß
Carla


Christian S. - Do 05.03.09 11:17

user profile iconCarla hat folgendes geschrieben Zum zitierten Posting springen:
Wenn man dann noch auf WPF wechselt, ist es besser gleich bei C# zu bleiben.

Wo ist da der Zusammenhang? :gruebel:


researcher - Do 05.03.09 13:56

Hallo!

Danke für den Tipp mit Hydra - werd ich mir anschauen!

Moderiert von user profile iconChristian S.: Frage entfernt, die steht ja schon [url=http://www.c-sharp-forum.de/viewtopic.php?p=552342#552342]hier[/url].

Danke und

liebe Grüße

Peter


researcher - Fr 06.03.09 12:32

Hallo!

So ich habe mir grad Hydra näher angesehen und ein paar Dinge funktionieren ganz gut.

zB: kann ich nun meinen .NET Code in Delphi verwenden -> Dank dieses Tutorials http://devcenter.remobjects.com/articles/?id={3539A3AC-3B46-4EAC-841D-898565470BD5

Allerdings wie ist es möglich, den Delphi Code in .NET zu verwenden????

Bisher habe ich folgenden Code


Delphi-Prism-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
unit MyUnit;

interface
uses
  uHYCrossPlatformInterfaces;

type
 CalculationManager = interface;

  CalculationManager = interface(IHYCrossPlatformInterface)
  ['{3D17289A-5ED2-4301-998C-42BAF4DBE777}']
    function DoCalculation(value: Integer): Integer; safecall;
  end;

  TMyClass = class(TInterfacedObject, CalculationManager)
  published
    function DoCalculation(value: Integer): Integer;
  end;

implementation

function TMyClass.DoCalculation(value: Integer): Integer;
begin
  result:= value*2;
end;

end.


In .NET habe ich dieses Unit mithilfe des Hydra Buttons "Import Interfaces from Delphi Unit" implementiert! Ja - schön und gut - wie kann ich aber den Delphi Code DoCalculation(...) ausführen?? Ich seh ja nur das Interface!?! :-(

Bin echt am verzweifeln!

Danke und lg

Peter