Zitat von
Lothar:
oder ob man als Purist lieber ganz auf die
VCL.NET verzichten sollte, gar nicht betreffen.
Hallo Lothar,
Ich denke, vor allem dieser Punkt wird Dich in der Diskussion zur Zukunftssicherheit früher oder später Zwangsläufig betreffen. Auch in Bezug auf Vista. Kurzes Beispiel, denn einen Meiner Kunden hat es hier auch schon erwischt: In der Entwicklung wurde entschieden, eine Webanwendung nicht unter Vista / IE7 zu testen, "weil das die Kunden eh noch lange nicht haben und auch so schnell nicht einsetzen werden". Vor 3 Tagen kam ein Kunde und hat gemeckert, weil Excel-Exports von unseren Webdaten nicht geöffnet werden konnten, als er sie mit dem IE7 unter Vista runtergeladen hatte. Und das war der Kunde, bei dem am wenigsten damit gerechnet wurde.
Zwecks Zukunftssicherheit: Ich würde alles, was P/Invoke ist, so weit wie möglich umgehen wollen. Dazu zählt für mich auch die
VCL.NET. Es hilft alles nichts, wenn man eine Anwendung hat, die zwar auf dem .NET Framework aufsetzt, aber hintenrum doch durch das Framework schiesst und direkt auf der Plattform Code ausführt. Zum einen ist das langsam, zum anderen nimmt es Dir den Vorteil von .NET, nämlich dass wenn die zugrundeliegende
API umgebaut/entfernt wird Deine Anwendung weiterläuft. Das ginge dann nämlich nicht.
Also: Wenn man sich dazu entscheidet, strategisch auf .NET umzusatteln, dann sollte man das möglichst konsequent tun, und nicht die Nachteile die man eigentlich damit umgehen will trotzdem noch mitzuschleifen. Als Zwischenschritt mag die
VCL.NET tauglich sein, aber wenn man umsteigt sollte man von Anfang an darauf hinplanen, die dann doch irgendwann abzulösen. - Ausser CodeGear will die P/Invokes demnächst rausziehen und die
VCL fully managed machen, nur davon habe ich leider noch nix gehört.
Sollte man den vollen konsequenten Umstieg nicht vorhaben, dann würde ich bei Altprojekten auch komplett bei nativem
Win32 bleiben, und die Probleme die man sich mit der .NET Umstellung ggf. einheimst damit von vorneherein ausschliessen. Von einer als solchen geplanten Mischlösung würde ich aus Performance- und Aufwandsgründen definitiv abraten, zumal man damit im Prinzip die Nachteile beider Lösungen vereint und die Vorteile beider verwirft. Das sollte also nur in absoluten begründeten Ausnahmefällen eine Option sein.
Aber nun back to Topic:
Ich denke, die
DP ist schon der richtige Platz für Spezialfragen.
Eine Frage von wegen: "Alter Code hier: xxx, wie geht das in .NET? Mir fehlt da das
Handle..." dürfte im konkreten Fall recht flott beantwortet sein.
@Hilfe: Ich arbeite nicht mit D.NET, weil es mir zu sehr hinterherhinkt. Ich befürchte jedoch, die Zeiten der bekannten Qualität der Hilfe aus Delphi 7 sind vorbei.
C# Codesamples sollten an und für sich nicht das Problem sein. Als Entwickler sollte man andere Sprachen zumindest readonly ziemlich flott drauf haben. Die Klassen und Methoden sind ja zum Glück in der .NET Welt immer die gleichen
Anlaufpunkt für .NET Doku sollte definitiv
MSDN sein und gute Beispiele für so ziemlich alles gibt es bei Codeproject.