2017-10-04 3 views
0

J'utilise com .dll dans mon application Delphi. pour cela, j'ai enregistré mon com. Dll en utilisant la commande regsvr32.exe .dll nom. Il s'est bien enregistré, puis j'ai converti ce com. Dll en bibliothèque de type (fichier .tlb pas). Maintenant, j'utilise ce fichier .tlb pas pour communiquer l'objet com. Le fichier .tlb m'a donné la classe wrapper pour communiquer avec dll.Classe non enregistrée dans Delphi XE7

Tout cela fonctionne très bien dans ma machine parce que dll enregistré dans ma machine. Mais quand je mets mon application sur une autre machine, alors elle renvoie une erreur comme 'Classe non enregistrée'. Comment je peux enregistrer la classe .dll ou perticuler dans une autre machine. Nous ne pouvons pas enregistrer .dll manuellement comme je l'ai fait sur ma machine pour toutes les machines.

s'il vous plaît laissez-moi savoir comment je peux enregistrer .dll ou coclass pragmatiquement.

+1

C'est ce que l'installateur devrait faire. – Victoria

+0

Soit enregistrer la classe, soit utiliser l'enregistrement gratuit com –

+0

Oui, j'utilise l'installateur d'installation d'inno pour installer mon application Delphi. Mais je ne sais vraiment pas comment je peux enregistrer .dll en utilisant inno mis en place. Si j'ajoute ce fichier dll dans inno mis en place seulement sur le chemin du perticuler, il ne s'enregistrera pas. – Ankush

Répondre

0

vous pouvez emballer com.dll avec l'installation du package et l'installation des progrès copier le fichier com.dll à "C: \ Windows \ system32" Programmatically

Pour l'enregistrer: ShellExecute (handle, 'open', 'C: \ Windows \ system \ Regsvr32.exe', '/ S com.dll', nil, SW_SHOWMINIMIZED);