Autor Beitrag
researcher
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 02.03.09 18:02 
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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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:
prismwiki.codegear.com/en/Oxidizer
prismwiki.codegear.com/en/ShineOn

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
researcher Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111
Erhaltene Danke: 2



BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
researcher Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: 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=www.c-sharp-forum.de...2#552342]hier[/url].

Danke und

liebe Grüße

Peter
researcher Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: 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 devcenter.remobjects...AC-841D-898565470BD5

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

Bisher habe ich folgenden Code

ausblenden 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