VisualBasic Verständnisfrage (PrivateSub und While)

mosquito87

Lieutenant
Registriert
Aug. 2006
Beiträge
980
Hi Forumbase,

seit einigen Tagen bin ich, nach längerer Zeit, wieder fleißig am programmieren.
Ich habe bisher nur Konsolenanwendungen programmiert (C++), PHP/SQL und VB in Excel.

Nun möchte ich gerne Windowsanwendungen mit VB2008 programmieren und komme auch ganz gut zurecht.

Nur habe ich momentan noch ein kleines Verständnisproblem.

Momentan sieht mein Code in etwa so aus:

Public Class Startfenster

Dim kontostand As Double = 0
Dim airlinename As String = "Namenlos"
Dim nachname As String = "Unbekannt"

Private Sub Menu_Hilfe_Info_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Menu_Hilfe_Info.Click
MessageBox.Show("Version 0.0001" & vbCrLf & "Programmiert von: Michael", "Version")
End Sub


usw...

Ok. Private Sub habe ich für jedes Element im Programm (z. B. für Formulare, Buttons, etc.).
Wenn ich realisieren will, dass Code ausgeführt wird, wenn z. B. jemand einen Button klickt, dann schreibe ich das da rein.
Doch wo muss mein Code rein, der programmübergreifend gilt?

Hintergrund ist der, dass unabhängig von Benutzeraktionen Code ausgeführt werden soll (mit einer while Schleife realisiere ich das am besten).

Schon mal danke für eure Hilfe.
 
Zauberwort heißt "Threading".
Kannst das alles in den sogenannten Backgroudnworker reinhauen. Weitere Details siehe Google "Vb.net Threading". Die HowTos müssten eigentlich leicht vertsändlich, nahezu selbsterklärend sein.
 
Threading ist ne schöne Sache, erfordert aber auch Überlegung über das Design und den Aufbau des Programs:
- Die Threads untereinander dürfen sich nicht gegenseitig "abschießen" (greifen z.B. aufs selbe Objekt gleichzeitig ohne Abfrage zu)
- Der Benutzer darf den Threads nicht zufällig in die Quere kommen (Thread manipuliert das selbe Objekt wo der Benutzer grad dran ist...)
- etc...

Ansonsten wird Multithreading auch in diesem OpenBook behandelt:

http://openbook.galileocomputing.de/visualbasic_2008/

good luck

Edit: Danke easy.2ci! War grad in der Gegend und der Topic ist mir auf der Startseite aufgefallen ;-)
 
Zuletzt bearbeitet:
Die Splittung in verschiedene Threads ist sicher die optimale Lösung. Aber die Thread Steuerung ist nicht einfach. Ohne dein konkretes Vorhaben zu können können die Antworten auch nur schwammig werden.

Reicht nicht vielleicht ein Objekt vom Typ Timer, welches periodisch deine Sachen erledigt? Dann hättest du ohne Mehraufwand schon eine fertige Parallelausführung realisiert.


Zu vb findet man auch viel in den kostenlosen .pdf von Galileo. Thema BackgroundworkerThread kommt da auch vor.


edit1: Zu spät.
edit2: @NightWalker: Glückwunsch zum ersten Post nach 18 Monaten Mitgliedschaft ;-)
 
Danke für die Antworten.
Ich werde mir Multithreading anschauen.
Das Open Book kenne ich bereits- arbeite es gerade ab, sind aber doch ein paar Seiten zu lesen (und verstehen).

Wegen dem Timer:
Klingt interessant. Nur wie und vor allem _wo_ ist dieser zu implementieren?

Danke an alle.
 
Als Control auf die Form ziehen. Doppelklick auf den Timer, der dann unten in einer Aussparung unter der Form erscheint, erstellt und bringt dich zum Event.
 
Zurück
Oben