![]() |
|
|||||||
| Newsgroup de.comp.lang.delphi.misc Borlands Delphi, Anwendung + Programmierung. |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
Hallo zusammen,
seit Tagen lese und probiere ich, kein Erfolg :-( Ich habe ein Projekt, mit welchem über COM-Ports mit Meßgeräten kommuniziert wird. Ein Kunde fordert nun, anstelle meines Programms ein OCX zu bekommen, welches ebenso mit den Geräten kommuniziert, welches er aber ohne mein Programm in seine Software einbinden kann. Ich bekomme einfach kein OCX erstellt :-( bzw. was ich erstellt habe, läßt sich nicht laden bzw. registrieren. Die OH hat auch kein passendes Beispiel parat. Hat jemand vielleicht einen Link zu irgendeinem funktionierenden OCX incl. Code, an dem man sich die generelle Struktur ansehen kann? Und wenn dieses dann nur eine einzige Funktion beinhaltet, die auf Anfrage "Hallo" zurückgibt, würde das reichen ;-) Danke Ciao Stefan |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
Stefan Koschke schrieb:
> Ich bekomme einfach kein OCX erstellt :-( bzw. was ich erstellt habe, > läßt sich nicht laden bzw. registrieren. Wie hast Du das denn erstellt? Als ActiveX Projekt sollte sowas eigentlich funktionieren. DoDi |
|
#3
|
|||
|
|||
|
Hallo,
wenn Dein Kunde eine OCX-Datei selber verwenden will und er er auch weis, wie er diese in sein Programm einbinden kann, dann empfehle ich die "MSCONN32.OCX" von Microsoft. Diese Datei wird(wurde) mit "Visual Basic 6.0 (Enterprise)" ausgelieferte. Alles Weitere kann man hier nachlesen: http://support.microsoft.com/search/...id=1105&range= Mfg Georg Hübner |
|
#4
|
|||
|
|||
|
Georg Hübner schrieb:
> die "MSCONN32.OCX" von Microsoft. ^^ Sorry; es muss heißen: "MSCOMM32.OCX" Mfg Georg Hübner |
|
#5
|
|||
|
|||
|
> Diese Datei wird(wurde) mit "Visual Basic 6.0 (Enterprise)" ausgelieferte. ^^^^^ Noch eine Korrektur: "Visual Studio 6.0 (Enterprise)" Mfg Georg Hübner |
|
#6
|
|||
|
|||
|
Georg Hübner schrieb:
> >> Diese Datei wird(wurde) mit "Visual Basic 6.0 (Enterprise)" >> ausgelieferte. > ^^^^^ > > Noch eine Korrektur: "Visual Studio 6.0 (Enterprise)" > > Mfg > > Georg Hübner Hallo Georg, da hast Du mich leider ganz falsch verstanden, ich brauche kein OCX was den COM-Port steuert, sondern muß eines erstellen, was die gesamte Meßgerätekommunikation enthält, daß das über einen COM-Port läuft ist dabei nur Nebensache :-( Ciao Stefan |
|
#7
|
|||
|
|||
|
Hans-Peter Diettrich schrieb:
> Stefan Koschke schrieb: > >> Ich bekomme einfach kein OCX erstellt :-( bzw. was ich erstellt habe, >> läßt sich nicht laden bzw. registrieren. > > Wie hast Du das denn erstellt? > > Als ActiveX Projekt sollte sowas eigentlich funktionieren. > > DoDi Hallo DoDi, ich habe nun mal die Fehlermeldung beim Registrieren abgefangen. "Der Auifruf an dllRegisterServer ist mit Fehlercode 0x80004005 fehlgeschlagen" Erzeugt habe ich das Ganze per - Neu/weitere/Activex/Activex-Bibliothek und - Neu/Weitere/Activex/Active Form Darauf einen Button mit Code gesetzt und kompiliert (ohne Fehlermeldungen) Nun habe ich im Code gesucht den D2007 erzeugt hat und gefunden, daß da zwar exports DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer; enthalten ist, nicht aber die Funktionen selbst :-( Wie komme ich weiter? Ich benötige eigentlich ein "Mini-OCX" als Source um sehen zu können wie das (wenns richtig läuft) umgesetzt ist. Ciao Stefan |
|
#8
|
|||
|
|||
|
Hallo,
> ich habe nun mal die Fehlermeldung beim Registrieren abgefangen. > "Der Auifruf an dllRegisterServer ist mit Fehlercode 0x80004005 > fehlgeschlagen" > > Erzeugt habe ich das Ganze per > - Neu/weitere/Activex/Activex-Bibliothek und > - Neu/Weitere/Activex/Active Form Das ist soweit total korrekt. Benutzt Du eventuell Vista, Win7 oder einen Benutzer, welcher keine administrativen Rechte hat? Der Registrierungsquelltext versucht in die Registry zu schreiben, was fehlschlägt. Du musst die Registrierung "elevated" durchführen. Also entweder auf einer Kommandozeile, welche als Administrator gestartet wurde: regsvr32 meinproject.ocx oder das Delphi als Administrator starten und dann unter "Start->ActiveX-Server registrieren" > > Darauf einen Button mit Code gesetzt und kompiliert (ohne Fehlermeldungen) > > Nun habe ich im Code gesucht den D2007 erzeugt hat und gefunden, daß da > zwar > exports > DllGetClassObject, > DllCanUnloadNow, > DllRegisterServer, > DllUnregisterServer; > > enthalten ist, nicht aber die Funktionen selbst :-( Doch, sie sind in der Unit ComServ.pas definiert. > Wie komme ich weiter? > Ich benötige eigentlich ein "Mini-OCX" als Source um sehen zu können wie > das (wenns richtig läuft) umgesetzt ist. Siehe oben. Du hast eigentlich alles richtig gemacht. Sören |
|
#9
|
|||
|
|||
|
Soeren Muehlbauer schrieb:
> Hallo, > >> ich habe nun mal die Fehlermeldung beim Registrieren abgefangen. >> "Der Auifruf an dllRegisterServer ist mit Fehlercode 0x80004005 >> fehlgeschlagen" >> >> Erzeugt habe ich das Ganze per >> - Neu/weitere/Activex/Activex-Bibliothek und >> - Neu/Weitere/Activex/Active Form > > Das ist soweit total korrekt. Benutzt Du eventuell Vista, Win7 oder > einen Benutzer, welcher keine administrativen Rechte hat? Der > Registrierungsquelltext versucht in die Registry zu schreiben, was > fehlschlägt. Du musst die Registrierung "elevated" durchführen. Also > entweder auf einer Kommandozeile, welche als Administrator gestartet wurde: > > regsvr32 meinproject.ocx > > oder das Delphi als Administrator starten und dann unter > "Start->ActiveX-Server registrieren" > >> >> Darauf einen Button mit Code gesetzt und kompiliert (ohne >> Fehlermeldungen) >> >> Nun habe ich im Code gesucht den D2007 erzeugt hat und gefunden, daß >> da zwar >> exports >> DllGetClassObject, >> DllCanUnloadNow, >> DllRegisterServer, >> DllUnregisterServer; >> >> enthalten ist, nicht aber die Funktionen selbst :-( > > Doch, sie sind in der Unit ComServ.pas definiert. > >> Wie komme ich weiter? >> Ich benötige eigentlich ein "Mini-OCX" als Source um sehen zu können >> wie das (wenns richtig läuft) umgesetzt ist. > > Siehe oben. Du hast eigentlich alles richtig gemacht. > > Sören Hallo Sören, Du bist mein Held !!!!!!! So blöd kann man dorch gar nicht sein :-))) Ich benutze übrigens Windows 7 und bin als Admin angemeldet. Ich habe tagelang rumprobiert, allerdings stets per Ausführen "regsvr32.exe meinocx.ocx" und die dämliche nichtssagende Fehlermeldung bekommen. Wäre da irgendwas erschienen, was auf fehlende Rechte hinweist, wären mir die Schuppen schon viel eher aus den Haaren gefallen. Mit einer Batchdatei, als Admin gestartet, funktioniert die Registrierung perfekt, ich kann mein OCX nun auch in Delphi als Komponente importieren. Nächster Step wird sein, dieses OCX mal in VB verwenden. Wenn das klappt, kann ich die eigentlichen Funktionalitäten implementieren. Und nochmal vielen Dank für das "Brett vor dem Kopf entfernen"! Ciao Stefan |
|
#10
|
|||
|
|||
|
Hi,
> So blöd kann man dorch gar nicht sein :-))) Ach Blödheit würde ich das nicht nennen. Sonst müsste ich mich ebenso als blöd bezeichnen:-). Ich habe beim Umstieg auf Windows Vista dafür den Debugger angeworfen und bin dann irgendwo beim Schreiben in die Registry hängengeblieben. Borland/CodeGear hätte durchaus eine bessere Fehlermeldung absondern können. Zumal das auch so schiefgeht, wenn man nur Gast/Hauptbenutzer ist. Das ganze finde ich aber eine sinnvolle Einrichtung in Windows >= Vista. Sören |
|
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| D2007 Komponentenprobleme | Stefan Koschke | Newsgroup de.comp.lang.delphi.misc | 5 | 05-18-2009 07:39 AM |
| Versionskontrolle D2007 | aka@semikron.com | Newsgroup de.comp.lang.delphi.misc | 2 | 02-11-2009 12:55 PM |
| TClientsocket fehlt in D2007 IDE | Stefan Koschke | Newsgroup de.comp.lang.delphi.misc | 6 | 12-11-2008 11:51 AM |
| D2007 und die dummy Hilfe | Thomas Zangl | Newsgroup de.comp.lang.delphi.misc | 4 | 10-19-2007 01:49 PM |
| D2007 IDE Features | Jens Lenge | Newsgroup de.comp.lang.delphi.misc | 7 | 09-07-2007 12:31 PM |