vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Fortgeschrittene Programmierung
Mehrere Fragen zu Klassenmodulen 
Autor: Philipp13
Datum: 16.09.06 13:41

Hi @all,
Anmekrung: Die Vorgeschichte muss keiner lesen, nur zur Hintergrundinfo, dass nicht Antworten kommen, die das eigentliche Problem einfach umgehen.
Wenn ich Objektmodule sage, meine ich Klassenmodule.
Ich progge in VB6.
Ich bin jedem dankbar, der nur eins der Probleme 1),2), etc löst.

[Vorgeschichte]
ich habe schon einige Programme programmiert, die über Internet funktionieren.
z.B. BattleSnake, bei dem der User Online spielen, updaten, über den Server Mitspieler suchen und neue Levels runterladen kann. Nur geht das alles über meinen PC (is für mich kein Problem). Da ich in der lage sein möchte, 10 Clients aufzunehmen, habe ich 11 Winsocks (eins davon hört auf dem betreffenden port), ein array mit 10 einträgen zu je 4 vars zum speichern von status, nickname, etc. das ist ziemlich speicherverschwendend, da ich das bei 2 weiteren programmen auch so habe.


Dann habe ich das hier gelesen:
http://www.activevb.de/tutorials/tut_klassen/klassen.html
Und jetzt möchte ich das so machen:
ich mache ein Interface (wie das "ITier" aus dem Tut), das so Funktionen und Ereignisse wie Sende, Empfange, ÄndereStatus, etc. bereitstellt.
Wenn nun ein Client verbindet, muss er sich einloggen, z.b. mit aa123.
Die 123 bedeutet nun, dass der Client ein BattleSnake Updater ist. Also lädt er eine Klasse von clsBSNUpdater, und arbeitet dann damit.
Dass würde sicher auch ganz gut funktionieren.

[/Vorgeschichte]

Doch jetzt kommen ein paar Probleme auf:
1) Ich möchte herausfinden, welche Klassenmodule im Projekt drin sind. Es gibt ja VB.Forms oder Global.Forms oder so ähnlich, was eine Auflistung aller Forms ist. Ich habe aber in VB6 keine Möglichkeit gefunden, alle Objektmodule aufzulisten.
Gibt es da eine Möglichkeit??

Ich würde dann beim Programmstart von jedem eine Instanz erstellen, und z.b. den Wert "123" abfragen und in ein Array oder so schreiben, damit ich das Objektmodul später laden kann.

2) Doch dazu muss ich auch eine Art Verweis auf das Objektmodul speichern. Geht das, etwa in der Art:
Public type LoginType
LoginID as integer
zuklassenmodul as ?????
end type
dim logintypes() as logintype

set logintypes(x).zuklassenmodul = clsBSNUpdater
und später:
set servers(x) = NEW logintypes(x).zuklassenmodul

Ist das in der Art möglich???

[Anmerkung]
Ich bin mir bewusst, dass man 1) und 2) durch ausführlicheren Quellcode auch realisieren kann, also:
select case loginIDVonNeuemClient
case 123
set servers(x) = new clsBSNUpdater
...
end select

doch nicht nur ich möchte dieses Programm benutzen und daran programmieren, sondern noch 2 weitere Leute. Und wir alle möchten natürlich nicht auch noch die unterprogramme vom anderen drinhaben. darum wäre es sinnvoll, dass er selber erkennt, wer alles da ist, so dass jeder eine Projektdatei haben kann, in die er seine eigenen Klassenmodule einbindet.
Eine Alternative Lösung wäre auch 3)
[/Anmerkung]

3)
kann ich zur Laufzeit feststellen, ob ein Klassenmodul ins Projekt eingebunden ist?
Falls ja, würde ich einfach alle möglichen absuchen, und falls nicht vorhanden, den betroffenen Eintrag aus der Liste streichen.

4)
Annahme, ich habe ein Klassenmodul clsModul mit dem ereignis EreignisS.
Public Type MeinTyp
ObjVar as clsModul
sonstnowas as string
...
end type

Dim withevents arrServer() as meintyp

Nun möchte ich das Ereignis 'EreignisS abfragen. Geht das in einem array unbestimmter größe aus einem untertyp heraus??

etwa so: Public SUb arrServer.ObjVar_EreignisS(Index as Integer) ?????

Falls dies nicht möglich ist, ist es nur mit dem array möglich?:
Public Sub arrObjVars_EreignisS(INdex as Integer)

Oder wie kann ich sonst an die Ereignisse von Klassenmodulen in einem Array/BEnutzerdefinierten Datentyp rankommen??


Ich bedanke mich für alle Antworten
Viele Grüße
Philipp Keck

ICQ: 248213336
MSN: philipp.keck@t-online.de
www.battlesoft.de.vu
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Mehrere Fragen zu Klassenmodulen741Philipp1316.09.06 13:41
Re: Mehrere Fragen zu Klassenmodulen412TheNukeduke17.09.06 13:37
Re: Mehrere Fragen zu Klassenmodulen442Philipp1317.09.06 15:10

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-2025 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