Laden...

COM-DLL einbinden

Erstellt von MysticEmpires vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.527 Views
M
MysticEmpires Themenstarter:in
302 Beiträge seit 2004
vor 19 Jahren
COM-DLL einbinden

Also ich habe hier eine COM-DL (mit VB geschreiben) ich habe sie mti einem Verweis eingebunden. Und jetzt wollte ich einen Funktion daraus aufrufen und zwar so:

using P2K_Enumerate;
EnumStateClass test = new EnumStateClass();
MessageBox.Show(test.ShowMyVersion());

Bei leider bekomme ich bei EnumStateClass diese Fehlermeldung:

Eine nicht behandelte Ausnahme des Typs 'System.IO.FileNotFoundException' ist in P2KExplorer.exe aufgetreten.

Zusätzliche Informationen: Das angegebene Modul wurde nicht gefunden.

Wobei ich doch die DLL so eingebunden habe.

C
980 Beiträge seit 2003
vor 19 Jahren

Hat VS.NET beim Verweis erstellen auch einen Interop Wrapper (mit Stubs) erstellt? Ist der COM Server (also deine DLL) auf dem System registriert?

M
MysticEmpires Themenstarter:in
302 Beiträge seit 2004
vor 19 Jahren

Jo das Registrien fehlte 🙂

Kann ich das auch aus dem Program herraus Registrien lassen (bevor ich die aufrufe). Und muss ich den Wrapper der anwendung beilegen?

C
980 Beiträge seit 2003
vor 19 Jahren

Der Wrapper muss sicher irgendwie beigelegt werden (ich glaube auch nicht dass es z.b. mittels ILMerge mit der Anwendung "verklebt" werden kann).

Ich bin mir nicht sicher wann genau der Server geladen wird. Falls er erst bei der ersten Verwendung geladen wirst kannst du ihn durchaus vorher automatisch registrieren lassen wenn er nicht bereits registriert ist. Falls nicht könntest du evtl. mit einem Loader arbeiten, die erst die Bedignungen prüft (und allenfalls nachbessert) und dann erst automatisch die eigentliche Anwendung lädt ... oder du nimmst halt ein klassisches Setup ...

X
2.051 Beiträge seit 2004
vor 19 Jahren

es muss nicht unbedingt ein Setup sein. es reicht schon einfach einmaliger Aufruf von regsvr32.exe <dllpath> um die dll zu registrieren

M
MysticEmpires Themenstarter:in
302 Beiträge seit 2004
vor 19 Jahren

Ich habe das bis jetzt ja mit bat. Reicht das eigentlich aus wenn man das 1 mal macht oder muss das nach jeden neustart gemacht werden?

X
2.051 Beiträge seit 2004
vor 19 Jahren

Original von Xqgene
es muss nicht unbedingt ein Setup sein. es reicht schon einfach **einmaliger **Aufruf von regsvr32.exe <dllpath> um die dll zu registrieren