[Delphi] Win32 VCL app omzetten naar .NET VCL: ervaringen*

Pagina: 1
Acties:

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 28-04 18:15

Tomatoman

Fulltime prutser

Topicstarter
Tot dusverre heb ik altijd met Delphi 7 gewerkt. Zojuist heb ik in Delphi 2005 even een paar regels code ingeklopt om een Win32 VCL applicatie te maken. Die compileerde prima. Toen ik er als testje even een zelfgeschreven unit aan toevoegde, ging het echter mis. Wat bleek? In plaats van Win32 bleek ik een .NET applicatie te hebben geschreven.

Op zich is het mooi nieuws dat dat in eerste instante volledig ongemerkt gaat. Daar staat tegenover dat ik niet weet hoe ik die zelfgeschreven unit moet omzetten naar .NET-compatible code. Die unit bevat wat code om een tray icon te laten zien. Waar het voor het eerst fout gaat is hier:
Delphi:
1
2
  FMsgTaskbarCreated := RegisterWindowMessage(PChar('TaskbarCreated'));
  FHandle := AllocateHWnd(WndProc);
Succes, zie dat maar eens om te zetten naar een .NET app. Ik ga fijn een nieuwe start maken, maar nu weer als vanouds in Win32. :/

Wat zijn jullie ervaringen met het omzetten van een Win32 VCL applicatie naar .NET? Hoe gaan jullie om met al die legacy code?

Een goede grap mag vrienden kosten.


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Niet, Win32 code blijft Win32 code, nieuwe projecten probeer ik zoveel mogelijk in .NET te schrijven. Uiteraard alles in Delphi 2005.

Volgens mij kost het veel te veel tijd om alle Win32 code om te zetten naar .NET code, en wat levert het op?

[ Voor 31% gewijzigd door jelmervos op 07-09-2005 11:47 ]

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 28-04 18:15

Tomatoman

Fulltime prutser

Topicstarter
Een reden om bestaande code om te zetten is dat je niet of moeilijk zonder die code kan. Ik heb zelf een heleboel losse routines geschreven die vaak terugkomen in mijn applicaties. Die routines variëren van event logging tot data-aware action classes en van NTFS file security tot standaard dialoogvensters.

Het probleem is dat het omschrijven van (een deel van) die ondersteunende units naar .NET misschien vrij gemakkelijk is, maar misschien ook heel moeilijk - ik kan het gewoonweg niet inschatten. Vandaar dat ik benieuwd ben naar ervaringen.

Een goede grap mag vrienden kosten.


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 17:58

alienfruit

the alien you never expected

tomatoman, voor het toevoegen van een icoon aan de taakbalk kun je eens kijken naar NotifyIcon component/klasse. Voor het omzetten van deen Win32 VCL applicatie naar .NET is eigenlijk alleen gemakkelijk als je of alleen de VCL gebruikt en/of Win32 component die nu ook .NET ready zijn (dmv. VCL.NET bijv.). Dan is het vaak een eitje, maar als je veel eigen code hebt dat gebruikt maakt van de APIS wordt het lastiger, dan kan je beter die klasses opnieuw implementeren.

Daarom zou je beter gewoon kunnen beginnen in .NET in nieuwe projecten, alleen dat heb jij natuurlijk wel problemen met je bestaande codebase.

[ Voor 92% gewijzigd door alienfruit op 07-09-2005 12:34 ]


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Ik schat in dat tomatoman dat zelf ook wel had gevonden, maar het gaat hem nu niet om de oplossingen, maar meer om de inschatting van de hoeveelheid werk. Dus de vraag of het wel loont om je code om te zetten.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 10:06

curry684

left part of the evil twins

Ik zie er weinig brood in. Ik heb veel en grote VCL projecten gedaan in BCB 3 t/m 6, en ben sinds een jaar volledig bezig met C# en .NET, en ik zie weinig tot geen mogelijkheden om code om te zetten zonder iedere fscking functie na te lopen en de calls aan te passen. Mogelijk? Ja. Lonend? No way :)

Herschrijf gewoon vanaf de grond zodra je een nieuwe major op de planning hebt staan :)

[ Voor 14% gewijzigd door curry684 op 07-09-2005 13:16 ]

Professionele website nodig?

Pagina: 1