2009-11-09 5 views
1

Salut lors de l'exécution de mon application VB6 Je reçois erreur commepoint d'entrée DllRegisterServer n'a pas été trouvé

« Erreur d'exécution « 53 »: fichier non trouvé: rscomclNoMsg.dll »

alors j'essayé d'enregistrer cette dll de la ligne cmd en utilisant regsvr32. Puis j'obtiens une erreur comme

"Le point d'entrée DllRegisterServer n'a pas été trouvé".

Je copié rscomclNoMsg.dl dans c: \ windows \ system32 et C: \ Program Files \ Microsoft Visual Studio \ VB98

Quelqu'un peut-il me fournir la solution pour cela?

Merci d'avance.

Répondre

3

Dependency Walker sera probablement votre ami ici. Vous pouvez l'exécuter sur rscomclNoMsg.dll pour savoir quel type de DLL il est et quelles sont ses dépendances. Comment trouver que dll perticular est com dll ou .net dll?

0

Qu'est-ce que rccomclNoMsg.dll? Est-ce une DLL COM ou une DLL .NET? Si la DLL a été écrite en .NET, vous (ou quiconque ayant écrit la DLL) devrez prendre quelques mesures pour la rendre COM visible.

Cela peut vous aider: Steps to make your .Net DLL useable from VB6

+0

Je n'ai jamais travaillé vb6. Merci – pbrp

+0

Voulez-vous dire que la DLL n'a jamais fonctionné en VB6, ou que vous n'avez jamais rien écrit en VB6? En plus d'essayer d'importer la DLL dans VB6, seule une DLL COM visible est utilisable dans VB6. –

2

"point d'entrée DllRegisterServer n'a pas été trouvé" signifie qu'il n'est pas une DLL COM. "Erreur d'exécution '53': fichier introuvable: rscomclNoMsg.dll" signifie que le VB6 n'a trouvé la DLL dans aucun de ses chemins de recherche. Il doit être placé dans System32 ou dans le répertoire de l'application. Puisque vous avez déjà essayé System32, j'essayerais de le déplacer là où l'application réside. Si vous l'exécutez à partir de l'EDI, il doit s'agir de l'EXE ou de la DLL contenant l'instruction DECLARE. Pour Win32 DLL, vous avez besoin de documentation sur les fonctions disponibles, puis utilisez DECLARE pour les rendre visibles. Dans le cadre de l'instruction declare, dites-lui quelle DLL utiliser. Ce MSDN article explique ce qui se passe.

Les DLL écrites en .NET doivent être exposées via COM afin qu'elles soient visibles par VB6.

Si vous avez la source bonne, vous pouvez regarder à travers les différents projets et découvrir où les déclarations sont pour rscomclNoMsg. J'espère que cela vous dira où placer la DLL.

Plus de détails aideront à affiner ma réponse.

Questions connexes