vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ActiveX-Programmierung
COM Information aus Datei ermitteln 
Autor: kora
Datum: 20.12.10 14:43

Hallo,
Wahrscheinlich wurde das Problem bereits diskutiert. Bitte entschuldigt, wenn ich mich trotzdem an das Forum wende, ich fand trotz intensiver Suche die Lösung nicht. Für entsprechende Hinweise zur Lösung wäre ich deshalb dankbar.

Es sollen die Dateien Oleaut32.dll und Olepro32 in die setup.exe eines VB Programmpakets eingebunden werden. Das Programm zur Erstellung der setup.exe (i.e. Installation Shield Express) warnt:

"Es konnten keine COM Informationen aus der Datei Oleaut32.dll und Olepro32.dll extrahiert werden."

Wo und Wie findet man fehlende Com Information ?
Gibt es eventuell einen Workshop, ein Tutorial oder wenigstens ein Buch ?

Bei MS Support fand ich für VB5 ein Bespiel. Dort wird die Datei "MSVBVM50.. " zur Lösung des Oleaut32 - Problems vorgeschlagen.

Ich habe versucht, das Beispiel nachzuvollziehen:

1. MSVBVM50.exe
Das Programm stürzt ab

2. MSVBVM50.dll
Oleaut32.dll
Olepro32.dll
Stdole2.TLB
Asycfil.dll
Comcat.dll
in das Direktory kopieren. Die obige Message wird angezeigt (COM Informationen konnten nicht extrahiert werden.)

Vielen Dank im voraus für Eure Hilfe!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: COM Information aus Datei ermitteln 
Autor: Dirk
Datum: 21.12.10 08:51

Mit welchem OS und welcher VB Version arbeitest du?

Gruß
Dirk

--
?Get it right the first time

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: COM Information aus Datei ermitteln 
Autor: kora
Datum: 21.12.10 10:31

Guten Morgen Dirk,
Vielen Dank für Deine schnelle Zuschrift.

In dem Buch "Grundlagen und Profiwissen" (W. Doberenz, Hanser Verlag, S 789, Kapitel "Verteilte Anwendungen" wird detailliert auf die Schnittstellen COM und DCOM eingegangen. Ich hatte das Kapitel studiert bevor ich mich an das Forum wandte.

Die Ausführungen verstand ich so, daß die von Microsoft vertriebenen Module (.exe, .dll, .ocx etc.) aus jeder Anwendung und jedem Betriebssystem unabhängig der verwendeten Programmiersprache aufgerufen werden können, weil die benötigten Variablen der Module standardisiert sind und über eine Schnittstelle dem Modul bekannt gegeben werden. Nur die Schnittstelle wird der jeweiligen Anwendung (bzw. dem jeweiligen Betriebssystem ) angepaßt. Die von den Modulen benötigten Variablen werden in einer gesonderten Datei der Anwendung bekanntgegeben. Diese Datei liegt im selben Verzeichnis, das auch die .exe der Anwendundg enthält.

Deshalb hatte ich in meiner Anrage weder das OS noch die Programmiersprache angegeben.


Bestärkt wurde mein (Un-)Verständnis durch einen im Netz gefundenen Hinweis:
"If you have access to a computer running Windows XP, you can Copy the file
msvbvm50.dll from C:\WINDOWS\system32\, and Paste it into the same folder as
the program's .exe file that requires it, for example, put it in C:\Program
Files\ MyProgram, if the MyProgram folder contains MyProgram.exe. It
shouldn't have to be put in Vista's C:\WINDOWS\system32\... "


Die von mir benutzte Anwendung wurde noch in VB5 programmiert. Es tat seit Jahren einen sehr guten Dienst im täglichen Einsatz auf Rechnern unter WIN98, XP und Vista. Als bei uns ein neuer Rechner beschafft wurde trat das Problem unter dem OS XP auf. Ich vermute, daß im neuen XP Änderungen enthalten sind, die das Problem verursachen. Jetzt bin ich am Ende des Lateins, weil ich nicht weiß wo und wie ich mit der Fehlersuche beginnen soll.

Grüße und nochmals Danke im voraus
Kora
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: COM Information aus Datei ermitteln 
Autor: Dirk
Datum: 21.12.10 11:12

Hallo Kora,

Zitat:

(i.e. Installation Shield Express) warnt:
"Es konnten keine COM Informationen aus der Datei Oleaut32.dll und Olepro32.dll extrahiert werden."

Was bedeutet hier warnt? Kannst du diese Warnung ignorieren, und es funktioniert trotzdem? Warnt Installation Shield Express beim Erstellen des Setups, oder beim Installieren?

Ich verwende den in VB6 enthaltenen "Package & Deployment Wizard", der schreibt in die Setup.lst folgendes:
File3=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),,6/2/99 11:00:00 PM,17920,2.40.4275.1
File4=@ASYCFILT.DLL,$(WinSysPathSysFile),,,3/7/99 11:00:00 PM,147728,2.40.4275.1
File5=@OLEPRO32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,3/7/99 11:00:00 PM,164112,5.0.4275.1
File6=@OLEAUT32.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,4/11/00 11:00:00 PM,598288,2.40.4275.1
File7=@msvbvm60.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,4/14/08 4:42:02 AM,1384479,6.0.98.2
File8=@msvbvm50.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,8/4/04 2:00:00 PM,1355776,5.2.82.44

Wenn ich jetzt z.B. die Datei OLEAUT32.DLL mit dem "OLE/COM Object Viewer" mit "View TypeLib" zu öffnen versuche, erhalte ich eine Fehlermeldung, die wahrscheinlich die gleiche Bedeutung hat, wie die von dir gepostete.

Öffne ich eine von mir erstellte ActiveX-Dll, wird die TypeLib angezeigt. Ich denke, das ist also alles normal so.

Gruß
Dirk

--
?Get it right the first time

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: COM Information aus Datei ermitteln 
Autor: kora
Datum: 22.12.10 14:48

Hallo Dirk,

Vielen Dank für die große Mühe, die Du Dir mit meinen Anliegen gibst!

Bei auftretenden Unregelmäßigkeiten generiert Installation Shield alternativ zwei Meldungen:

"Fehler"
Das Programm bricht ab oder läuft nicht

"Warnung"
mit einem Zusatz z.B. "Prüfen Sie ob das Modul ... selfextracting ist."


Aufgrund leidervoller EDV - Erfahrungen möchte ich Mitmenschen Ärger ersparen, die auf meiner Unkenntnis beruhen. Ich bemühe mich deshalb so weit es mir möglich ist Unklarheiten zu beseitigen.

Du beschreibst Deine Oleaut - Beobachtungen:
Wenn ich jetzt z.B. die Datei OLEAUT32.DLL mit dem "OLE/COM Object Viewer" mit "View TypeLib" zu öffnen versuche, erhalte ich eine Fehlermeldung, die wahrscheinlich die gleiche Bedeutung hat, wie die von dir gepostete.

Könnte es sein, daß die "msvbvm50.dll" die von oleaut32.dll benötigten Informationen generiert und daß deshalb beim Aufrufen der Oleaut32.dll die Fehlermeldung kommt? Muß eventuell eine alte oleaut32.dll erst gelöscht werden bevor setup.exe der Anwendung die mvdbvm50 sowie die oleaut32 installiert? Das Internet ist voll von Anfragen über von der Oleout32.dll erzeugte Fehlermeldungen. Ich wundere mich immer über die vielen Ideen, die microsoft entwickelt. Es ist unwahrscheilich, daß vergessen wurde eine Lösung für die verursachten Probleme zu finden. Die Schwierigkeit ist wo in der Informationsflut die Lösungen zu finden sind.

Ich bleibe in jedem Fall am Ball. Zu Weihnachten habe ich allerdings dem Familienrat versprechen müssen, das "Spielen mit dem (ungeliebten) Computer"
gegen die Beschäftigung mit den Kindern einzutauschen. Bitte verzeih mir, wenn ich erst wieder nach dem Fest von mir hören lasse.... "Sonst kommt der Weihnachtsmann nie wieder...."

Dir und allen "Leidgenossen des Forums" wünsche ich ein frohes Weihnachtsfest.
Nochmals herzlichen Dank!

Gruß Kora
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: COM Information aus Datei ermitteln 
Autor: kora
Datum: 10.01.11 11:52

Hallo Dirk,
Ich hoffe, dass du ein frohes, friedliches Weihnachten erleben durftest und gut ins neue Jahr gerutscht bist.

Ich habe den Kurzurlaub dazu genutzt, mir zusätzliche Informationen über das Problem der verteilten Anwednungen anzulesen:

David Chappell
Understanding ActiveX and Ole
A guide for developers and managers
(Bestselling guide to COM)
Microsoft Press

Das Buch beschreibt eingehend die Prinzipien. Die Komponenten können große Schäden verursachen und ich bin eigentlich noch ängstlicher geworden als ich ohne bereits war. Das gilt auch für die Zusammenarbeit mit Programmierern, weil sich sicherlich einige darauf verlassen, daß es schon gut gehen wird, wenn ein Programm läuft. Hast Du Informationen zu folgenden
Fragen:

Wie stelle ich fest wohin eine Komponente zu kopieren ist?
(Windows System oder Program Folder, der die Anwendung enthält)

Wie verhindere ich das Überschreiben bestehender Komponenten ohne das isntallierte System zu schädigen?

Wo findet man die Beschreibung der DLLs, um herauszufinden wozu diese gut sind und wie diese zu installieren sind?

Solltest Du, Dirk oder ein anderes Forums - Mitglied Informationen zur Klärung geben können, wäre ich sehr dankbar.

Gruß Kora
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: COM Information aus Datei ermitteln 
Autor: Dirk
Datum: 14.01.11 10:33

Hallo Kora,

ja, danke, mein Weihnachtsfest war friedlich und auch mit dem Rutschen hat es gut geklappt.

Zitat:

Wie stelle ich fest wohin eine Komponente zu kopieren ist?
(Windows System oder Program Folder, der die Anwendung enthält)

Wenn du eine Komponente installierst, die speziell für deine Applikation entwickelt ist und bei der du davon ausgehst, dass diese nicht in anderen Applikationen verwendet werden wird, dann würde ich sie ins App-Verzeichnis kopieren.

Zitat:

Wie verhindere ich das Überschreiben bestehender Komponenten ohne das isntallierte System zu schädigen?
Wenn du das Überschreiben verhinderst, kann das installierte System eigentlich nicht beschädigt werden. Es kann höchsten der Fall sein, dass das zu installierende System nicht korrekt funktioniert.

Solltest du z.B. eine (System-Verzeichnis) Komponente neuerer Version installieren wollen, könnte eine Lösung sein, diese statt ins System-Verzeichnis, ins App-Verzeichnis zu kopieren. Da bin ich mir aber nicht ganz sicher. Ich habe jetzt hier auch kein System um dieses zu testen.

Zitat:

Wo findet man die Beschreibung der DLLs, um herauszufinden wozu diese gut sind und wie diese zu installieren sind?

Von welchen DLLs sprichst du hier?

Gruß
Dirk

--
?Get it right the first time

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: COM Information aus Datei ermitteln 
Autor: kora
Datum: 05.02.11 08:37

Guten Morgen Dirk,
Herzlichen Dank für Deine Mühe und die Informationen. Bitte entschuldige die verspätete Antwort aber ich mußte für meinen Brötchengeber mal wieder weg.

DLL / Beschreibung der Funktionen
Mich interessieren die Details generell. Wo erfahre ich wozu eine DLL dient
Wenn man eine Fehlermeldung bekommt z.B. Oleaut32.DLL verursacht den Fehler XYZ dann könnte man ja vielleicht auch den Code im Programm ändern, der die DLL aufruft.

Mir ist es peinlich, Dich immer zu belästigen. Bitte entschuldige deshalb meine Neugier, wo hast Du Dein Wissen her ? Gibt es vielleicht ein Buch, das ich mir zu Gemüte führen kann?

Ich wünsche Dir ein schönes Wochenende und danke nochmal!

kora
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel