Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject'
Bonsoir,
Je finalise la migration d'un programme sous Windows 10, anciennement BDE/Paradox vers FireDac/SQLite et, à la compilation (CTRL-F9) avec Delphi 10.3.3, je rencontre l'erreur suivante :
Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject' en type d'interface 'Borland.Studio.Interop.IInteropMessageService'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{FF877130-F96F-3885-9A3E-3093A3C1D831}' a échoué en raison de l'erreur suivante : Erreur lors du chargement de la bibliothèque/DLL du type. (Exception de HRESULT : 0x80029C4A (TYPE_E_CANTLOADLIBRARY))
J'avoue être perdu par le contenu du message.
Le FireDacPhysLink.VendorLib avec le répertoire où se situe la DLL (le répertoire où se trouvent les .pas et. dfm, c'est aussi le répertoire de sortie) et le test du FDConnection est bon. Par contre au lancement du RADStudio, j'ai pratiquement toujours une erreur de handle de fenêtre mais à l'affichage et à l'éxécution sous l'IDE (F9) tout est normal.
Ce qui me paraît bizarre, c'est que, sous l'IDE l'erreur n'apparaît pas lors de l'appui sur "Executer" F9, cela compile normalement, l'application se lance et s'exécute correctement, mais impossible de compiler avec CTRL-F9... Je reçois toujours le même message. Par contre, alors qu'avec F9 la fenêtre de compilation s'ouvre au milieu de l'écran, systématiquement lorsque je reçois l'erreur d'impossibilité de cast, la fenêtre se trouve en bas à droite de l'écran, ce qui fait qu'avant même le résultat de la compilation, je sais que cela n'aboutira pas.
Mes dernières modifications concernent l'introduction de valeurs par défaut dans chacun des FQuery de l'applicatif et l'ajout d'une fiche pour la lecture d'informations (une fiche avec 2 dBGrid et 2 dBNavigator), donc pas de modification de données.
Comme lu sur internet, j'ai essayé en fermant le RadStudio et en relançant le programme, en redémarrant le PC, toujours la même chose, même message d'erreur.
Suis preneur de toute suggestion.
Bien cordialement,
Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObjet'
Bonjour Blonde,
Merci pour ta réponse.
J'ai suivi le lien indiqué pour l'erreur indiquée et ai testé tregsvr -t Borland.Studio.ToolsAPI.tlb et tregsvr -t Borland.Studio.Interop.tlb dans le répertoire c:\program files (x86)\Studio\20.0\bin, j'obtiens :
Code:
1 2 3 4 5 6 7 8
| C:\Program Files (x86)\Embarcadero\Studio\20.0\bin>tregsvr -t Borland.Studio.ToolsAPI.tlb
Embarcadero Turbo Register Server(32) -- COM Server Registration utility.
Version 1.3 Copyright (c) 1997-2010 Embarcadero Technologies, Inc.
Type library name: C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\Borland.Studio.ToolsAPI.tlb
Type library GUID: {718062B4-5EB5-4171-AB94-80108322C37E}
Error: Erreur d'accSs du Registre OLE |
pour l'un et
Code:
1 2 3 4 5 6 7 8
| C:\Program Files (x86)\Embarcadero\Studio\20.0\bin>tregsvr -t Borland.Studio.ToolsAPI.tlb
Embarcadero Turbo Register Server(32) -- COM Server Registration utility.
Version 1.3 Copyright (c) 1997-2010 Embarcadero Technologies, Inc.
Type library name: C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\Borland.Studio.ToolsAPI.tlb
Type library GUID: {718062B4-5EB5-4171-AB94-80108322C37E}
Error: Erreur d'accSs du Registre OLE |
pour l'autre.
J'ai quand même recherché dans le regedit si l'IID FF877130-F96F-3885-9A3E-3093A3C1D831 était répertoriée, elle existe bien mais renvoie à une autre clé {00020424-0000-0000-C000-000000000046}...
Une recherche des .tlb sur mon PC ne me donne aucun résultat. Par contre la recherche ToolsApi me donne un répertoire vide. Serait-ce un problème d'installation ?
Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject'
Bonjour,
Merci à tous pour vos réponses.
Peut-être à tort, je lance toujours l'IDE en tant qu'administrateur pour programmer.
Ayant un peu regardé la base de registre (voir mon message précédent), c'était effectivement un immense bazar...
Ensuite, j'ai nettoyé la base de registre avec Ccleaner, depuis le problème semble résolu, cela compile (F9) et me donne l'exe sans problème.
Je marque la discussion comme close. Encore merci à tous et bon bout d'an.