Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi.NET zu Chrome Konverter? (https://www.delphipraxis.net/86246-delphi-net-zu-chrome-konverter.html)

Alexander 11. Feb 2007 15:53


Delphi.NET zu Chrome Konverter?
 
Hallo DPler :)
Da ich jetzt auch mit Chrome mehr arbeiten möchte (@ Robert :zwinker:), suche ich nach einer Möglichkeit mein gesamtes Delphi.NET-Projekt nach Chrome zu konvertieren. Sicherlich könnte ich das auch per Hand machen, das Projekt ist aber mittlerweile schon recht umfangreich geworden.

Da es ja auch einen C# zu Delphi Konverter gibt, könnte ich mir das auch in diese Richtung sehr gut vorstellen :).
Zumal ich dabei wahrscheinlich die teilweise etwas andere Syntax besser verstehen würde.

Vielen Dank für eure Hinweise.

Bernhard Geyer 11. Feb 2007 15:55

Re: Delphi.NET zu Chrome Konverter?
 
Ich hoffe du hast dein Projekt mit FCL und nicht VCL.NET erstellt.

Elvis 11. Feb 2007 16:09

Re: Delphi.NET zu Chrome Konverter?
 
Zitat:

Zitat von Bernhard Geyer
Ich hoffe du hast dein Projekt mit FCL und nicht VCL.NET erstellt.

Würde immer noch gehen. VCL.Net sind auch nur .Net Klassen. ;-)

@Alex
Ich habe es irgendwann sein lassen, da ich einfach keine DfN Sources habe, die ich konvertieren will. Und eine Lösung wie BabelCode suboptimal ist, da sie auf CodeDOM basiert.

Sinnvoll wird das erst wenn man einen Delphi Parser hat, der auf der anderen Seite Chrome code rauswirft. So kann vieles erhalten bleiben und auch für einige Delphi Spezialitäten lassen sich vllt. standardkonforme Lösungen finden.
Letztere Lösung wäre also ideal aber aufwendig, erstere Lösung würde wahrscheinlich nicht viel Zeit kosten, dafür wäre der Output so hässlich, dass du ihn nicht benutzen wölltest. :zwinker:

Alexander 11. Feb 2007 16:12

Re: Delphi.NET zu Chrome Konverter?
 
Zitat:

Zitat von Bernhard Geyer
Ich hoffe du hast dein Projekt mit FCL und nicht VCL.NET erstellt.

Natürlich kein VCL.NET...

@Robert:
Mit anderen Worten, dir ist noch kein richtiger Konverter über den Weg gelaufen ? :stupid:
Dann muss ich mir das mal in einer ruhigen Minute überlegen, ob ich das bei diesem Projekt schon mache, oder ob ich nur neue Projekte mit Chrome erstelle.

Elvis 11. Feb 2007 17:21

Re: Delphi.NET zu Chrome Konverter?
 
Zitat:

Zitat von Alexander
@Robert:
Mit anderen Worten, dir ist noch kein richtiger Konverter über den Weg gelaufen ? :stupid:
Dann muss ich mir das mal in einer ruhigen Minute überlegen, ob ich das bei diesem Projekt schon mache, oder ob ich nur neue Projekte mit Chrome erstelle.

Ändere deine jetzige Echse zu einer ClassLib.
So kannst du alles jetzige aus einer Chrome Anwendung benutzen.
Du suchst dir dann immer ein Bündel Klassen aus, die zusammen nicht vom Delphi Code benutzt werden.
Chrome erlaubt es einen Typen pro Datei zu haben, ohne dass du deshalb dein Design ändern musst.
ich empfehle dir, davon Gebrauch zu machen, vereinfacht die Übersicht der Klasse, an der du gerade arbeitest, enorm.
Du kannst auch sehr einfach Hollow classes erzeugen, die nur dazu dienen um Kompilieren zu können:
Delphi-Quellcode:
type
  MyClass = public class
  public
    property SomeValue : String;
    method DoSomething; empty; // das "empty" ist der Trick
   
    constructor; empty;
    constructor(someValue : String); empty;
    ...
  end;
Dadurch kannst du dich immer auf die Konvertierung von einer Klasse auf einmal konzentrieren.
Nachdem du einen Satz Klassen fertig hast, kannst du dann wieder Debuggen und deine Unit tests laufen lassen. Deshalb sollten die Bündel von gegenseitig abhängigen Klassen, die du portieren willst, nicht zu groß werden. Sonst vergeht einfach zuviel Zeit zwischen schreiben und debuggen. :zwinker:

Auf die Art habe ich mal vor einer Weile non-visuellen Delphi32 über DfN/VCL.Net -> DfN/ShineOn -> Chrome/ShneOn -> Chrome/FCL zu Chrome portiert. Lief sehr gut und hier hat die VCL.Net vorübergehend definitiv Sinn gemacht. (Es wurden einige VCL Klassen wie Streams & Co benutzt)
Da man fast praktisch die ganze Zeit über lauffähigen Code hat, geht das Ganze ziemlich schnell.

Alexander 11. Feb 2007 19:03

Re: Delphi.NET zu Chrome Konverter?
 
Ich denke, wenn ich das Projekt in Chrome weiter schreibe, werde ich tatsächlich ganz einfach meine vorhandenen Delphi Klassen zu ner ClassLib umwandeln und anschließend ggf. portieren.
Es müssen dann aber .NET 1.1 und 2 auf dem Client-Rechner installiert sein, oder?

Elvis 11. Feb 2007 22:25

Re: Delphi.NET zu Chrome Konverter?
 
Zitat:

Zitat von Alexander
Ich denke, wenn ich das Projekt in Chrome weiter schreibe, werde ich tatsächlich ganz einfach meine vorhandenen Delphi Klassen zu ner ClassLib umwandeln und anschließend ggf. portieren.

Jupp, sollte keine Eile notwendig sein.
Zitat:

Es müssen dann aber .NET 1.1 und 2 auf dem Client-Rechner installiert sein, oder?
Nein, Chrome frisst alles. Ich glaube sogar 1.0 Assemblies, solange sie nicht inkompatibel zu 2.0 sind.
Die Standard BCL/FCL Libs skalieren immer mit der mscorelib, die gerade geladen ist.
Will heißen, dass deine Komponenten autom. SWF 2.0 benutzen wenn ie in Chrome unter .Net 2.0 laufen.

Alexander 12. Feb 2007 10:58

Re: Delphi.NET zu Chrome Konverter?
 
Zitat:

Zitat von Elvis
Nein, Chrome frisst alles. Ich glaube sogar 1.0 Assemblies, solange sie nicht inkompatibel zu 2.0 sind.
Die Standard BCL/FCL Libs skalieren immer mit der mscorelib, die gerade geladen ist.
Will heißen, dass deine Komponenten autom. SWF 2.0 benutzen wenn ie in Chrome unter .Net 2.0 laufen.

Interessant, Danke :).
Kann ich in der IDE eigentlich auch direkt sagen, dass Chrome mir die Lib mit .NET 1.1 kompilieren soll? Habe da leider noch nichts finden können.
Wäre ganz praktisch, dann müsste man den Command-Line Compiler nicht bemühen.

Elvis 12. Feb 2007 11:12

Re: Delphi.NET zu Chrome Konverter?
 
Zitat:

Zitat von Alexander
Kann ich in der IDE eigentlich auch direkt sagen, dass Chrome mir die Lib mit .NET 1.1 kompilieren soll? Habe da leider noch nichts finden können.

Du kannst in den Projekt Optionen ein Verzeichnis angeben, in dem der Compiler nach den Standard-Assemblies sucht.
Falls du für 2.0/1.1 und Mono kompilieren willst, kannst du einfach eine Build config anlegen, diese meinetwegen Release 1.1 nennen und ihm sagen, er soll sie von der Release config kopieren.
Jetzt wählst du die neue konfig und kannst in den Projektoptionen das Framewrokdir auf deinen 1.1-Ordner setzen.
Wann immer du jetzt gegen 1.1 kompilieren willst musst du nur noch die Release 1.1 config wählen und kompilieren.
Zitat:

Wäre ganz praktisch, dann müsste man den Command-Line Compiler nicht bemühen.
Da Chrome-Projekte msbuild-Projekte sind, kannst du die Einstellungen der IDE auch von der Kommandozeile benutzen.
Code:
"%windir%\Microsoft.Net\Framework\v2.0.50727\msbuild.exe" YourProject.chrome  /target:Rebuild "/p:Configuration=Release 1.1"
Was immer du in den Optionen unter der Config Release 1.1 eingestellt hast wird jetzt auch in der Kommandozeile benutzt.

Alexander 13. Feb 2007 19:45

Re: Delphi.NET zu Chrome Konverter?
 
Das werde ich mir noch mal genauer anschauen.

Ich scheitere gerade an einer nicht unproblematischen Hürde : Ich habe keine Kreditkarte zum Bestellen der Studenten-Version :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz