Winsocket per ocx File

Cthulhu

Mitglied
Tach

ich Proge grad nen Chat, jedoch ohne dem Winsocket Komponent, sondern ich referenziere (probiere es zumindest) das File mswinsck.ocx.
Bei mir läuft das Progi dann auch Prima aber bei jemandem ohne VB-Editor nicht.

Wenn ich auf References gehe, auch erscheint der Winsocket Control nicht mehr, gedenke denn ausgewählt.

Vieleicht müsste ich das ocx File bei Laufzeit referenzieren, oder bräuchte ich eine anderes .ocx File?

Ich arbeite mit VB 6 (sp5) NT Machine

danke und gruss

Cthulhu
 
Mach es mal über LateBinding
1. Referenz entfernen
Code:
Dim ws As Object
Set ws = CreateObject("MSWinsock.Winsock")

Wenn es so bei den anderen Rechnern ebenfalls nicht funktioniert solltest du das winsock.ocx entweder ins System32 Verzeichnis kopieren oder in den Ordner deiner Application

Gruß bb
 
hallo brainbyte

das Problem besteht leider immer noch. Die anderen Rechner haben das ocx File auch, aber es kommt die Fehlermeldung, dass ein ActiveX Steuerelement nicht als Objekt defniert werden kann. Die gleiche Fehlermeldung kommt auch wenn das Winsocket bei Laufzeit definiere wie dein Codebeispiel. Fehler Nummer 429.

Gruss und Danke
 
Zuletzt bearbeitet:
also ich habe es nochmals in vb6 und vbs von word probiert da funktioniert das einwandfrei.

Laut dem Fehler den du meldest könnte es aber daran liegen, das die anderen Rechner eine ältere Version des ocx haben.

quatsch der Fehler liegt hier:
oder vieleicht eine andere Dll oder Referenz nicht vorhanden ist z.B. msvbvm60.dll oder die vb6.olb (eher unwahrscheinlich)
diese ist unter NT nämlich normalerweise nicht vorhanden.
 
Hallo brainbyte

Danke für die Hilfe, hat aber leider nicht geklappt. Das File vb6.olb habe ich selbst nicht und das andere ist schon auf den anderen Rechner vorhanden (habs aus sicherheit auch noch ersetzt). Hab auch die dlls und ocx noch manuell registriert, bringt aber alles nix.

PS: hast du eine Ahnung wieso bei mir immer wieder die Referenz des Winsocket verschwindet?

habe irgendwo was gehört, dass die dlls mit einem key registriert werden sollten, hat da jemand ahnung/erfahrung?

danke
 
Schau dir mal die VBP mit Notepad an da stehen dann die Referenzen auf die entsprechenden ocx´e und dlls drin

Bsp :
Reference=*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#C:\WINDOWS\system32\scrrun.dll#Microsoft Scripting Runtime
Reference=*\G{00000205-0000-0010-8000-00AA006D2EA4}#2.5#0#C:\Programme\Gemeinsame Dateien\system\ado\msado25.tlb#Microsoft ActiveX Data Objects 2.5 Library


wie man sieht habe ich die Version 1 der Scripting Runtime referenziert und die Ado 2.5

Kontrolliere mal bei dir wo du die entsprechende Datei referenziert hast (Pfad) wenn dort was anderes als der System32 ordner oder der Applicationspfad steht könnte das evtl. dein Problem sein.

Dann die entsprechende Datei an der stelle wo sie liegt löschen, das gute alte regclean von Microsoft laufen lassen. Referenz neu einhängen und glücklich sein


Gruß bb


PS: Wenn das auch nicht hilft kann ich ja mal über dein Projekt schauen - brainbyte@gmx.net
 
Danke viel Mals für deine Hilfe. Hab die Referenzen auf dem anderen Rechner geprüft und stimmt eigentlich alles. Auch das mit dem RecClean hat nicht wirklich was gebracht.
Hab dir jetzt das Projekt geschickt, wäre super nett wenn du schnell reinschauen könntest.

gruss Cthulhu

Edit:
Hab die winsocket Referenz manuel rausgeschmissen, und das Winsocket nochmals in der Laufzeit created:
Code:
Private wsock As Object
Set wsock = CreateObject("MSWinsock.Winsock")

Obs so gehen würde weiss ich nicht, hab ein neues Prob und zwar wie kann ich die Events definieren wie:
Code:
Private WithEvents wsock As winsock
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück