J'essaie d'importer une bibliothèque de type .NET de tierce partie (DLL de serveur COM) en utilisant tlibimp.exe (version 11.0). Cela fonctionne essentiellement bien, mais les résultats diffèrent lorsque je l'exécute sur différents ordinateurs, l'un sous Windows XP, l'autre Windows 7. Ce qui est pire, le code généré sur la machine Win7 ne compile pas.La sortie de tlibimp.exe diffère sur différents systèmes d'exploitation
Les deux machines ont:
- Borland C++ (RAD Studio) 2007
- Version TLIBIMP.EXE 11.0
- les mêmes versions de .NET Framework est installé (pour autant que je peux dire, Borland 2007 utilise v2 .NET)
- version bcc32.exe 5,93
le compilateur échoue dans le OCX.h avec:
Parameter mismatch in write access specifier of property Font
La ligne correspondante du code sur la machine XP (qui compile ok) est:
__property Graphics::TFont * Font={ read=GetTFontProp, write=_SetTFontProp, stored=false, index=-512 };
La même ligne sur la machine Win7 (qui échoue) est:
__property IFontDisp* Font={ read=get_Font, write=set_Font, stored=false };
Maintenant, je ne suis pas vraiment sûr d'où vient cette différence. Des idées?
acclamations Hendrik
Comment un serveur COM .net peut-il exporter une VCL 'Graphics :: TFont'? –
Je n'ai aucune idée, mais cela semble fonctionner. Est-ce que c'est peut-être une magie d'emballage de composants Borland? – Hendrik
Je devrais ajouter qu'il y a d'énormes différences entre les deux versions de la classe en question, pas seulement une ligne. Pour commencer, la version WinXP hérite de TOleControl, et le Win7 de Oleserver :: TOleServer – Hendrik