![]() |
Win32 nach .Net portieren
Hi zusammen,
ich habe hierzu leider nichts finden können. Gibt es die Möglichkeit, Win32 Anwendungen nach .NET zu Portieren, damit diese auch unter Linux mit Mono laufen? Es handelt sich um etwas recht komplexes, mit Komponenten wie dem SynEdit, der Virtual TreeView, TBX etc. Ich kann mir nicht vorstellen, dass es so ohne weiteres möglich ist, doch bevor ich's gleich abhake, frage ich lieber mal. |
Re: Win32 nach .Net portieren
Hi,
mit mono wirst Du im Bereich Windows Forms eh keine Chance haben. Da nimmst Du lieber dotGNU. Und mit visuellen Komponenten, vor allem mit solchen die auf der VCL basieren, wirst Du auch massivste Probleme haben. Das Problem ist, dass die Dinger nunmal P/Invokes (Platform-Invokes, will heissen Win32-API Calls) benutzen, und die stehen Dir unter Linux nicht zur Verfügung. Du kannst sicher ohne weiteres die Programmlogik portieren, aber die Oberfläche würde ich mit reinen Windows.Forms-Komponenten neu machen. |
Re: Win32 nach .Net portieren
Hallo Sebastian
Zitat:
|
Re: Win32 nach .Net portieren
Ich denke mal das Du vielleicht mit dotGNU in Kombination mit WINE eine kleine Chance hast. Ich würde mal ein Testprojekt mit den einzelnen Komponenten als VCL-.NET Anwendung erstellen (einfach nur die Kompos draufziehen und kompilieren) und das testen. Wenn WINE greift könnte es sein, dass das sogar wirklich geht.
|
Re: Win32 nach .Net portieren
Hm, dazu müsste ich erst einmal Linux installieren, aber das lässt sich einrichten. Nur kam auch eine Anfrage, ob ich das Programm nicht für das .NET Framework (1.1) aufbereiten könne, damit es auch unter MAC OS-X läuft und das kann ich definitiv nicht testen.
|
Re: Win32 nach .Net portieren
Hm, da ich keine SynEdit und TBX - .NET-Komponenten bzw. Ersatz kenne wird wohl Dein Vorhaben nicht von Erfolg gekrönt sein. :(
Linux unterstützt .NET ? -> ![]() Ich denke die jetzige Version von Mono ( ![]() Wenn es denn ein Delphiprogramm sein soll würde ich mich an ![]() //Edit: Huch, vier neue Beiträge und nix roter Kasten ? |
Re: Win32 nach .Net portieren
Hm danke. Schade, dann wird das wohl nichts. Es handelt sich bereits um einige zehntausend Zeilen Code und das kann/möchte ich nicht alles nochmals neu schreiben müssen.
|
Re: Win32 nach .Net portieren
:gruebel: ...och nur so 'n paar tausend. Da reicht doch ein Wochenende.... ;)
|
Re: Win32 nach .Net portieren
Zitat:
|
Re: Win32 nach .Net portieren
So, dann melde ich mich auch mal...
Zitat:
Ganz ehrlich, ich würde diesem Haufen von pseudo-faschistichen MS-Hassern(einfach mal deren Homepage lesen :wall: ) nicht so weit über den Weg trauen, dass ich ein Projekt von ihnen abhängig mache (ging an pNet). Die haben es doch gerade mal geschafft ihren erbärmlichen Interpreter auf Windows und Linux durch einen JIT zu ersetzen. :roll: Mono ist definitiv die professionellere Plattform. Und btw, alle meine alten 1.1 Projkte liefen problemlos unter Mono. Selbst Invokes sind kein Problem, da man Aliase für Bibliotheken angeben kann. X.dll heißt dann einfach X.so unter Linux. Zitat:
GUIs sind einfach nicht wirklich portierbar. Die VCL.Net dafür herzunehmen und sich damit ganz andere Probleme einzuhandeln ohne wirklich .Net-Vorteile zu gewinnen, halte ich sowieso für so sinnvoll wie einen Hummer in der Großstadt fahren... Als SynEdit-Ersatz wäre der TextEditor von #develop möglich. Baer der erfordert die GPL. Der GPL-Virus ist in der .Net/Mono-Welt auch viel verbreiteter als in der Delphi-Welt, das Problem wird dir also öfter begegnen... Nachdem du Code und GUI getrennt hast, könntest du dir mal ShineOn als Kompatibilitäts layer für die Delphi RTL anschauen. Es hat eine Trennung von puritsischem .Net und Invokes (Die Bibliotheken mit Invokes enden auf .Win32). Und es wird auch ständig gegen Mono getestet. Oh eins noch: Mono mag zwar nur SWF auf dem Stand von .Net 1.1 besitzen, aber du kannst bereits generics verwenden, was zusmmen mit der restlichen .Net FCL ganz schnell 10.000 Zeilen in einen lachhaften Bruchteil verwandeln kann. :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz