Quels outils existent pour convertir une application Delphi 7 en C # et le framework .Net?
Je conserver un vieux PC seule application écrite en Delphi 7. Bien que Delphi a servi de moi très bien, dans le passé, maintenant, je l'utilise uniquement pour cette application et de trouver mes compétences avec la langue de diminuer. Sa syntaxe est trop différent de mon "travail de jour" les langues de Java/Ruby, donc il me faut plus de temps pour obtenir dans la rainure de la rédaction du nouveau code, en plus, c'est tellement vieux que je n'ai pas utilisé de nombreux interfaces de sorte que le code n'est pas géré qui semble ancienne pour moi maintenant!
Beaucoup de mes utilisateurs sont de passer à Vista, qui peut exécuter l'application en mode de compatibilité ou peut avoir GPF problèmes selon leurs PC est configuré par leur service, donc je dois faire de la maintenance sur l'application. Je me demandais si je devrais sauter à un plus familier de la pile.
Est-il un outil automatisé qui permettra de faire les démarches de conversion de la base de code de C#, me laissant se concentrer sur la conversion sur tous les éléments non conformes? Je suis à l'aide d'une base de données incorporée composant appelé AbsoluteDatabase qui est BDE et compatibles à l'aide de SQL standard dans l'ensemble, et un natif de Delphi, HTML composant de navigateur qui peut être échangé avec quelque chose de le monde Microsoft.
Quelle est la qualité de ces outils de conversion?
source d'informationauteur devstopfix
Vous devez vous connecter pour publier un commentaire.
Je ne connais pas d'outils automatisés pour faire cette conversion. Personnellement, je vous suggère de coller avec Delphi, peut-être juste la mise à niveau vers une nouvelle version. J'ai vu un couple de code DOM qui tente de convertir à partir de Delphi, C#, mais ce n'est pas l'adresse de la bibliothèque en question.
CodeGear (officiellement Borland) dispose d'un outil pour allant de C# Delphi qui fonctionne OK. Je suppose que les outils qui vont dans le sens d'autres fonctionnent de la même (nécessitant beaucoup de l'édition). Voici un outil suédois qui fonctionne sur le même CodeDOM principe d'aller de Delphi, C# (et un certain nombre d'autres langues). Il en existe d'autres, je ne peux pas les trouver maintenant.
Une autre option serait de passer à un plus resent version de Delphi pour .NET et le port de votre code .NET de cette façon. Une fois que vous arrivez à travailler en Delphi pour .NET (ce qui sera assez facile, sauf pour l'embarqué DB, sauf s'ils en ont un .NET version), vous pouvez utiliser .NET Réflecteur et Fichier Désassembleur inverser la de IL de C#. Vous serez toujours à l'aide de la VCL, mais vous pouvez utiliser C# au lieu de Object pascal.
Une autre solution serait de port à Oxygene par RemObjects. Je crois qu'ils ont un Delphi Win32 chemin de migration pour WinForms. Ensuite, utilisez .NET Réflecteur et Fichier Désassembleur inverser la de IL de C#.
En bref, pas de réponses faciles. Langue de la migration est plus facile ensuite de la bibliothèque de la migration. Beaucoup de cela dépend de ce 3ème partie des composants que vous avez utilisé (au-delà de AbsoluteDatabase) et si vous avez fait des appels d'API de Windows directement dans votre application.
Une autre complètement différente option serait trop regarder pour un off-shore de l'équipe pour maintenir la demande. Ils peuvent probablement faire un prix si bas. Vous pourriez trouver quelqu'un à l'échelle nationale, mais il vous en coûterait plus aucun doute (bien que la chute du dollar et le marché du travail faible, vous ne savez jamais . . . )
Bonne chance!
Il y a eu un rapport scientifique d'un succès de la transformation d'un 1,5 million de ligne de Delphi Projet de C# par John Brant. Il a écrit un Delphi parser, un C# générateur et beaucoup de règles de transformation sur l'AST. L'extension progressive de l'ensemble de règles, de faire une compilation quotidienne, beaucoup de tests unitaires, et certaines réécriture de difficile pièces Delphi de lui avec une équipe de 4 personnes, parmi lesquels certains des développeurs à l'origine, avec une profonde Delphi & C# connaissances, de migrer le logiciel en 18 mois. John Brant être développeur à l'origine de la refactoring browser et le SmaCC compilateur kit de construction, vous êtes susceptibles d'être en mesure d'aller aussi vite
Sauf si vous faites quelque chose de non standard, D7 applications devrait fonctionner correctement sous Vista.
Comme pour la conversion en C#, je pense que la plupart des outils de conversion serait une perte de temps. Une meilleure approche serait de réécrire l'application à partir de zéro.
Il n'y a pas de réponse facile, mais gardez à l'esprit que le Delphi.net variante de la langue cible le .net, et que les différentes langues .net peut interagir étroitement.
Vous pouvez essayer de le faire pour compiler en Delphi.Net, la prise en compte dans les différentes assemblées et de le convertir ensuite assemblées à la main un par un. Réflecteur pourrait aider à être le reverse-engineering du code compilé dans un squelette de code C# équivalent, mais sans commentaires, les noms de variables internes etc.
D'autre part, Delphi.net peut être assez bon (TM) pour ce projet.
Mais à moins d'avoir une bonne suite de test (je suppose sans doute pas, compte tenu de l'état de l'art dans Delphi 7) vous allez introduire des bogues.