Winsock ohne Form

  • VB6

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Pascal.

    Winsock ohne Form

    Hi!

    Wie kann ich ein Steuerelement benutzen, ohne es auf eine Form zu setzen?
    Ich möchte in einem Prorgamm(welches einfach nur die SystemZeit mit dem Internet abgleicht), welches keine Form besitzen soll, dass Winsock-Steuerelement benutzen.
    Das Programm läuft im Hintergrund, und ich denke mir, dass wenn es keine Form hat, es dann nicht so viel Arbeitspeicher belegt und schneller zu laden ist. Oder ist das garnicht der Fall?

    Gruß,
    m3rlin
    mehr als ein LIPPER kann der Mensch kaum werden! :)
    Winsock ohne Form geht entweder mit API Aufrufen (wurde auch schonmal hier im Forum behandelt) oder eventuell mit der Erstellung des Steuerelements zur Laufzeit.

    Etwa so:


    dim sck as winsock
    set sck = new winsock
    sck...
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich würd an deiner Stelle auf eine versteckte Form zurückgreifen ... zwar nicht so schön, du wirst aber mit dieser Methode viel weniger haben, als mit der Variable, bzw. Instanz!

    Bei der Instanz wirst du auf das Problem der Events treffen: Damit Events überhaupt eintreffen muss du hinter dem Dim ein WithEvents setzen, dann wiedrum wird das mit dem New aber nicht mehr funktionieren ...

    Ich hab mich mit diesem Kram vor einem halben Jahr schon rumgeschlagen: ERFOLGSLOS ... leider, da ich einer bin, der eigentlich keine halben oder krummen Sachen mag. Mir wäre die Sache mit einer Instanz auch viel lieber gewesen ...

    Du kannst ja gerne alles noch mal ausprobieren, solltest du dann erfolg haben, sag mir bitte bitte bescheid! Ich will wissen, wie das vernünfig geht ...

    Jue ;)
    Ich habe gerade mal versucht, ein Winsock Control zur Laufzeit zu erzeugen. Das geht nicht! Daher musst du wohl diese ganzen API Deklarationen benutzen, die ein vollwertiger Ersatz für das Control sind. Dazu kursiert im Internet ein Modul.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Vielen DANK für eure Antworten!!!
    Ich bekomme auch kein WS zur Laufzeit mit Events hin... ;(

    Das Modul hab ich schon gefunden, aber noch nicht ausprobiert.... :rolleyes:

    Eine Frage bleibt noch: Wei sieht das mit dem gebrauchen
    Arbeitsspeicher aus? Ist der mit dem Modul kleiner, oder mit versteckter Form??

    Gruß,
    m3rlin
    mehr als ein LIPPER kann der Mensch kaum werden! :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „-([m3rLiN])-“ ()

    Der Logik nach müsste das Modul kleiner sein, da ja wirklich nur das "WinSock" Control in den Arbeitsspeicher geladen wird. Bei der versteckten Form wiederum muss die Form selber und das Winsock-Control in den Arbeitsspeicher geladen werden.
    Aber ich denke um den Arbeitsspeicher musst du dir wenig Sorgen machen, es sei denn du willst eine riesige Serversoftware schreiben, bei der 1000ende Sockets auf einmal im arbeitsspeicher sind. Aber erst einmal wirst du sicherlich Probleme mit der Performenc deines Programmes kriegen ...

    Jue ;)
    Nach langem herumrätseln bin ich darauf gekommen, das das mit der versteckten form wesentlich besser ist:

    1. Ists wesentlich einfacher ein WS zu erstellen und zu steuern
    2. Kannst du mit der versteckten Form evtl auch noch ein Statusfenster machen (indem dus unter bestimmten umständen sichtbar machst)
    3. Macht das mim Arbeitsspeicher keinen so großen unterschied, wenn man sich C++ mal angeschaut hat!! Denn die ganzen windiws DLLs und Libraries werden sowohl beim Fenster alsauch bei nem Modul geladen! Der einzige wirkliche unterschied sind die Graphiken und befehle fürs fenster! So nebenbei brauchst du fürs modul auch noch ne nervige schleife, die den Prozessor unnötig belastet (außer wenn du das mit nem API-Timer regelst!

    Ich Rate zur versteckten Form!!!!!
    Mein Rat : Sockets programmieren.

    Kein Runtimes, keinen Ärger - Funktionalität 1a, erforderlicher Speicherplatz minimal (ca. 44kb).

    Und vor allem unabhängig vom Winsock-Control auf dem Zielrechner, das kann unter Umständen von großem Vorteil sein.