Autor Beitrag
challenge4syseca
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 10.08.05 16:51 
Hallo

Wir überlegen, ob wir unsere D6-Applikation (mit SQL-Server/MSDE) nach .NET migrieren sollen. Gründe sind:
1. alte FoxPro-Module werden neu in C# geschrieben (Smart-Clients)
2. Wir benutzen in den älteren Module customizable Reports (nicht im Programm kompiliert) in der D6-App aber Quickreports, bei denen der Benutzer keine Änderungne vornehmen kann.
Unsere D6-App verfügt über eine sehr aufwändige GUI-Programmierung, die ich nicht gerne komplett in den Sand setzen möchte.

Deshalb frage ich:
:?: Hat jemand Erfahrung bei der Migration von D6 auf D2005? Speziell mit GUI?

Nach allem was ich bisher gelesen habe, wird längerfristig gesehen abgeraten auf VCL.Net zu setzen. (Wegen /P Invoke-Aufrufen)
:?: Kommt eine Portierung nach FCL einer Neuprogrammierung gleich? Wäre es da nicht besser gleich auf C# zu setzen?

:?: Oder soll ich doch eher einen Workaround für die anstehenden Probleme schaffen und warten, was die nächste Delphi-Version bringt?

Ich bin froh um jeden Hinweis. Vielen Dank :)

PS: Bin leider ein Delphi-Greenhorn. Und Turbo Pascal liegt schon soooo weit zurück...
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Mi 10.08.05 20:28 
user profile iconchallenge4syseca hat folgendes geschrieben:
Deshalb frage ich:
:?: Hat jemand Erfahrung bei der Migration von D6 auf D2005? Speziell mit GUI?

Delphi 2005 ist Win32API und .NET. Und mittels Delphi.NET ist die Interopertibilität zwischen Win32 zu .NET ein kinderspiel, denn die "exports" Klausel gibt es auch in Delphi.NET. Der C# Compiler macht es da einem schwerer, wenn er das überhaupt kann.

Zitat:
Nach allem was ich bisher gelesen habe, wird längerfristig gesehen abgeraten auf VCL.Net zu setzen. (Wegen /P Invoke-Aufrufen)

Die VCL.NET ist schneller als WinForms. WinForms nutzt im Moment auch nur P/Invoke, denn es basiert auch auf der Win32API. Zudem ist WinForms von Microsoft als deprecated markiert und wird mit WinFX (durch Avalon) komplett ersetzt, welchen nicht kompatibel zu WinForms ist.
Persönlich sehe ich zur Zeit da keinen nennentswerten Vorteil von WinForms, wenn es um die Windows-Programmierung geht. Will man sein Programm auch unter Linux laufen lassen, kommt man nicht um Gtk# oder WinForms (nur im Experimentiermodus) herum, weil sich sich noch niemand daran gemacht hat, die VCL.NET nach Linux zu portieren (=> Lizenzproblem).
Ein Pluspunkt der VCL.NET ist der FormDesigner, denn der von WinForms ist meiner Meinung nach der größte Schrott. Man benenne nur mal das Formular um, oder versuche einen EventHandler zu löschen. Bei der VCL einfach die Methode auf "begin end" reduzieren, bei WinForms die Methode löschen, das Code-Foldering bei "Vom Designer verwalteter Code" öffnen, die Delegaten-Zusweisung suchen, die Zeile löschen und hoffen, dass man nicht zuviel gelöscht hat, da der autogenerierte Code sonst vom FormDesigner nicht mehr richtig verarbeitet werden kann.
Ein Grund für WinForms, den ich immer wieder höre ist, dass die .exe Dateien kleiner sind. Ist ja auch kein Wunder, wenn WinForms im .NET Framework steckt und die VCL.NET standardmäßig ins Programm gelinkt wird. Aber die Dateigröße war für mich nie ein Kriterium, ob ein Framework gut oder schlecht ist. Man erinnere sich nur an die vielen inkompatiblen Versionen der mfc DLLs.


Zitat:
:?: Kommt eine Portierung nach FCL einer Neuprogrammierung gleich?

Solange die Programmlogik von der GUI getrennt ist, beschränkt sich die Migration der Logik auf .NET spezifische Unterschiede (vorausgesetzt man akzeptiert, dass Units wie SysUtils, Classes, ... benutzt werden.
Wenn man aber auch auf diese verzichten will, und alles mit der FCL machen möchte, dann kann man gleich bei 0 anfangen.

Zitat:
Wäre es da nicht besser gleich auf C# zu setzen?

Wenn nur FCL und keine erweiterte Delphi-RTL (Borland.Vcl.SysUtils, Borland.Vcl.Classes, ...) genutzt werden, ist das sicherlich eine Möglichkeit.

Zitat:
und warten, was die nächste Delphi-Version bringt?

Delphi 2006 (DeXter) wird da nicht viel daran ändern. Zumindest wird die VCL.NET noch bestehen.

_________________
Ist Zeit wirklich Geld?
challenge4syseca Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 11.08.05 14:04 
Hallo AndyB

Wie schon erwähnt, liegt die grosse Arbeit im GUI. Viel Logik ist nicht dahinter ausser "Wie stelle ich die Daten dar" (Kalender und Termin-Zuordnungen). In der Applikation wurde ein RBTimeView-Control (Borshack) verwendet und weiterentwickelt. Und mir graut es, dieses Ding zu migrieren. :?

Sonst brauchen wir keine erweiterten RTLs.

Auf jeden Fall: Danke für die Hinweise.
Marauder
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 72



BeitragVerfasst: Mi 17.08.05 23:51 
Wie wär's mit ner Komponente?

Termin und Ressourcenplanung, passt sich super überall ein,
von mir. Ich entwickel's auch ständig weiter:

www.web-terminplaner.de