Einzelnen Beitrag anzeigen

Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#1

Wiederverwendbarkeit / Portierbarkeit zwischen Delphi und Delphi Prism

  Alt 23. Mai 2012, 02:32
Ich lade mir gerade die Trial von Delphi Prism herunter, doch bevor ich mich weiter mit dem Thema auseinandersetze, werfe ich hier mal wieder einige mich quälende Fragen in den Raum, zu denen ich noch keine bedriedigende Antwort im I-Net gefunden habe.

Zuerst ein kurzer allgemeiner Überblick zu den Projekten:
Ich habe einige Labor-Applikationen (native Win 32Bit) die ich mit Delphi geschrieben habe. Bei diesen Projekten wird eine Portierung nach .NET in Betracht gezogen.
Die Programme sind (glücklicherweise) weitestgehend modular aufgebaut. D.h. ich habe die Kernanwendung, die sich um die GUI und die Basisfunktionalität kümmert.
Die eigentlich relevante Funktionalität wird über PlugIn-DLLs eingespeist. Die Kommunikation verläuft über Messages und Interfaces (kein COM/DCOM). Evtl. benötigte Forms, Toolbuttons und Menüs werden bei der Kernanwendung in Auftrag gegeben und dort erzeugt. Die zugeordneten OnClick-Ereignis-Prozeduren der Toolbuttons und Menüpunkte werden jedoch als globale Prozeduren über GetProcAddress und Prozedur-Index eingebunden. Benötigte Grafikelemente sind in die DLL als Ressource mit eincompiliert.
Als letztes sei noch erwähnt, das es sich hierbei nicht um Vertriebsprodukte handelt, sondern nur um Applikationen die in unserem unternehmenseigenen Laborbetrieb eingesetzt werden.

Und nun kommt das was mir Bauchschmerzen bereitet:
Das ich die Kernanwendung komplett überarbeiten muss ist mir vollkommen klar. Also alles was VCL heisst muss neu aufgesetzt und mit WinForms gestaltet werden.
  • Wie sieht es aber mit den DLLs aus?
  • In wie weit lassen sich diese ohne große Umarbeitung in Prism compilieren? (uses-Klausel-Anpassungen ausgenommen)
  • Worauf ist bei der Portierung zu achten?
  • Was muss ich mit den globalen Prozeduren anstellen, um sie Prism-fähig zu machen?
  • Wie sieht es mit den Grafik-Ressourcen aus? Können die weiterhin in die Assemblies mit eincompiliert werden?
  • Was habe ich noch vergessen?

Ich würde mich sehr über Denkanstösse Eurerseits freuen. Und auch ein möglicherweise klares "Vergiss es" oder "alles neu macht der Mai" würde mir als Diskussionsgrundlage mit meinem Vorgesetzten schon weiterhelfen.
Marc
Programmieren ist wie Chemie:
1. Wenn man alles einfach nur zusammenschmeisst kommt es zu unerwarteten Reaktionen.
2. Wenn es plötzlich anfängt zu qualmen, muss man eben noch mal von vorn anfangen.
  Mit Zitat antworten Zitat