WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 02.04.2003, 12:36   #1
mstepan
Newbie
 
Registriert seit: 05.03.2003
Alter: 43
Beiträge: 19


mstepan eine Nachricht über ICQ schicken
Unglücklich VB-Bibliotheken unter VBA benutzen

Hi Leute

ICh hbae folgendes Problem.


Ich habe etwas in VBA auf einem Rechner programmiert wo VB auch installiert war und greife jetzt im Code auf 2 ocx-Bibliotheken von VB zu.

Jetzt möchte ich das aber auf einem Rechner laufen lassen der kein VB hat. Ich habe zwar die 2 ocx-Dateien zu den anderen von Access dazukopiert aber Access kann nicht auf die Bibliotheken zugreifen.


HELP
mstepan ist offline   Mit Zitat antworten
Alt 02.04.2003, 19:01   #2
Seidl
Veteran
 
Registriert seit: 10.01.2001
Beiträge: 478


Standard

Ich nehme an, die Fehlermeldung besagt in etwa folgendes:

Component 'NameDerDatei.ocx' or one of its dependencies not correctly registered: a file is missing or invalid

Falls dem so ist, unter 'Start/Ausführen' folgendes eingeben:

regsvr32 c:\PfadZurDatei\NameDerDatei.ocx
Seidl ist offline   Mit Zitat antworten
Alt 02.04.2003, 23:57   #3
maxmustermann
Senior Member
 
Registriert seit: 21.10.2002
Beiträge: 163


Standard

nein is es nicht.. fehlermeldung hätte er dazuschreiben sollen =)

"objekterstellung durch activex-komponente nicht möglich"

das ganze meldet er beim commondialog..

Set mydialog = New commonDialog

also hier im prinzip..


wir haben jedoch die datei: comdlg32.ocx im verzeichnis winnt\system32 welche benötigt wird für den commondialog aktiviert bei den verweisen!

hoffe hab das ganze einigermaßen verständlich beschrieben.. liegts an dem oder is der fehler überhaupt wo anders?
maxmustermann ist offline   Mit Zitat antworten
Alt 03.04.2003, 22:17   #4
Seidl
Veteran
 
Registriert seit: 10.01.2001
Beiträge: 478


Standard

Sorry. Da kann ich leider auch nicht weiterhelfen da ich das Problem (glücklicherweise ) nicht nachvollziehen kann. Ich habe mir testweise auf meiner XP-Maschine eine kleine OCX erstellt die im initialize ShowOpen ausführt. Die habe ich dann in einmal in einer VB-EXE und einmal in einem Word-UserForm verwendet.
Danach habe ich auf einem NT-System das 100%-ig noch nie mit VB in Berührung gekommen ist, die comdlg32.ocx und meine eigene ocx ins winnt\system32\ gelegt und beide registriert. Danach sind sowohl die VB-EXE als auch das Word-UserForm anstandslos gelaufen.

Mir fällt nur noch eine letzte Möglichkeit ein. Es kann vorkommen, dass lizensierte Komponenten nicht in eigenen OCX laufen wollen wenn in diesen die Option "Require License Key" nicht aktiviert ist. Wenn das auch nicht hilft bin ich mit meinem Latein am Ende.
Seidl ist offline   Mit Zitat antworten
Alt 08.04.2003, 19:03   #5
maxmustermann
Senior Member
 
Registriert seit: 21.10.2002
Beiträge: 163


Standard

so, jetzt mal eine antwort darauf..

wir haben folgendes festgestellt!

diese fehlermeldung, welche ich im obigen beitrag geschrieben habe, bekommen wir nur, wenn wir den commondialog in einem modul aufrufen..

wenn der code hinter einem formular liegt, und da der common dialog aufgerufen wird, dann kommt dieser fehler nicht, und es funktioniert!

kannst du dir jetzt vielleicht mehr darunter vorstellen seidl?

naja, hoffe dir ist vielleicht sowas bekannt, bzw hast ratschläge was wir da probieren könnten..

achja, das pic das du im letzten beitrag gehabt hast..
wo kann man das einstellen? hab ne weile gesucht, aber hab nirgends diese einstellung gefunden..

also das häckchen..
wenns geht sag mir/uns bitte wo man das einstellt thx im voraus!
maxmustermann ist offline   Mit Zitat antworten
Alt 08.04.2003, 20:48   #6
Seidl
Veteran
 
Registriert seit: 10.01.2001
Beiträge: 478


Standard

Die Option 'Require License Key' kann man einstellen wenn man unter dem Menüpunkt 'Project' ganz unten auf 'Projektname Properties' klickt, wobei Projektname natürlich der Name des aktuellen Projekts ist. Diese Option ist übrigens nur für ActiveX-Komponenten verfügbar.´

Was den Fehler verursacht weiss ich im Moment auch nicht. Da ich im Augenblick aber recht knapp mit der Zeit bin, werde ich nicht so bald dazu kommen weiter damit herumzuprobieren. Ich nehme aber an, dass sich in der VB-Dokumentation im MSDN sicher finden lässt wie die Sache richtig zu lösen wäre.

Ein guter Ausgangspunkt wäre wahrscheinlich hier.
Seidl ist offline   Mit Zitat antworten
Alt 08.04.2003, 21:27   #7
maxmustermann
Senior Member
 
Registriert seit: 21.10.2002
Beiträge: 163


Standard

k, thx für die antwort, werd mir die seite mal reinziehn
maxmustermann ist offline   Mit Zitat antworten
Alt 08.04.2003, 21:38   #8
maxmustermann
Senior Member
 
Registriert seit: 21.10.2002
Beiträge: 163


Standard

also bei mir gibts die ganzen checkboxen dort garned.. hmm...

hab pic mitgeschickt wie das bei mir aussieht..

sieht irgendwie nach dem richtigen aus, aber irgendwie auch wieder nicht.. aber das is das eigenschaften fenster von meiner datenbank..
maxmustermann ist offline   Mit Zitat antworten
Alt 09.04.2003, 00:45   #9
Seidl
Veteran
 
Registriert seit: 10.01.2001
Beiträge: 478


Unglücklich

Du liebe Zeit! Da war ich ja auf dem völlig falschen Dampfer!

Ich war durch die Fehlermeldung "objekterstellung durch activex-komponente nicht möglich" der Meinung du hättest selbst eine OCX erstellt in der die COMDLG32 verwendet wird. Dementsprechend war meine Antwort darauf ausgerichtet eine eigene OCX, welche die COMDLG32.ocx verwendet, unter MS-Visual Studio VB6.0 zu kompilieren.

Da das ganze Problem nur in einer Datenbank auftritt sieht die Sache natürlich wieder ganz anders aus. Das Doofe an der Sache ist nur, dass ich das Problem noch immer nicht nachvollziehen kann. Bei mir funktioniert der Code:

Public Sub test()
Set dlg = New CommonDialog
dlg.ShowOpen
End Sub

ohne jegliche Probleme.
Besonders ratlos macht mich, dass die Sache in Formularen funktioniert und in Modulen nicht. Das ergibt nicht viel Sinn für mich. Hier auf jeden Fall noch ein paar Fragen die mir jetzt noch so einfallen:

- Sind auf dem Rechner sowohl COMDLG32.OCX als auch COMDLG32.OCA und COMDLG32.DLL vorhanden?
- Waren die Dateien schon vorhanden oder habt Ihr sie nachträglich auf den Rechner kopiert?
- Sind die Dateien sicher registriert?
- Habt Ihr schon versucht einfach die VB-Runtime zu installieren?
Seidl ist offline   Mit Zitat antworten
Alt 09.04.2003, 10:25   #10
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von Seidl

- Sind auf dem Rechner sowohl COMDLG32.OCX als auch COMDLG32.OCA und COMDLG32.DLL vorhanden?
- Waren die Dateien schon vorhanden oder habt Ihr sie nachträglich auf den Rechner kopiert?
- Sind die Dateien sicher registriert?
- Habt Ihr schon versucht einfach die VB-Runtime zu installieren?
Jetzt komm ich auch mal wieder dazu...

Hört sich interessant an. Die *.OCA und *.DLL sind sicher nicht dabei. Nur die OCX hamma kopiert (das könnt schon mal ein Grund sein)

Die OCX haben wir mittels regsvr32 registriert. Wenn man sich jetzt die anderen Dateien mit kopiert, muss man die auch registrieren(die DLL nehm ich mal an), aber was ist mit der OCA?
renew ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:38 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag