vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Visual-Basic Einsteiger
Objektübergabe an eine Prozedur 
Autor: Hollie
Datum: 04.12.20 18:02

Hallo und guten Tag.
Da ich hier schon einige wertvolle Tipps gefunden oder bekommen habe, starte ich wieder mal durch.

In einem Veranstaltungsverwaltungsprogramm soll ein neues Event auf Tages- und Zeitkollisionen mit
bereits vorhandenen Veranstaltungen geprüft werden.
Hierbei enthält eine Combobox "cboRhytmus" einige Listeneinträge
(z.B. "erste Woche", "zweite Woche" etc. pp).
Der Wochentag wird über einen von sieben Optionsbutton "optWochentag(I%)" ausgewählt
(1=So, 2=Mo, etc. pp).

Das jeweilige "Click"-Ereignis löst die Prüfung aus,
(1) "Call TERMIN_KOLLISIONS_SUCHE(Me.cboRhythmus)" oder
(2) "Call TERMIN_KOLLISIONS_SUCHE(Me.optWochentag(I))"

Die Prozedur "TERMIN_KOLLISIONS_SUCHE(AUSLOESER as Object)" sucht nun mögliche Überschneidungen und
übergibt im Kollisionsfall die Daten an die Prozedur "TERMIN_KOLLISIONS_MELDUNG(AUSLOESER as Object)"

In dieser Melde-Prozedur soll neben einer MsgBox auch der Verursacher ["cboRhytmus" oder
"optWochentag(I)"] farblich hervorgehoben werden.

Für die Optionsbutton funktioniert das ohne Problem.
Nicht aber für "cboRhythmus" !!!
Hier nimmt "AUSLOESER" (obwohl als "Object" deklariert) den gerade angezeigten Listenwert
von "cboRhythmus" an, z.B. "erste Woche".

Was mache ich falsch?
Wie verweise ich auf die Eigenschaft des Steuerelementes und NICHT auf den gerade angezeigten Inhalt?

In der Hoffnung, einen richtungsweisenden Hinweis erhalten zu können: vielen Dank.

Code-Auszug:
Private Sub TERMIN_KOLLISIONS_MELDUNG(AUSLOESER as Object)
Fehler = True

' ==> bei "optWochentag(I) ok, bei "cboRhythmus" LfzF
If AUSLOESER Then AUSLOESER.BackColor = HROT

MsgBox "Fehler, gewünschter Termin würde kollidieren mit ...", 64, ApplName
If AUSLOESER Then
AUSLOESER.BackColor = GRAU
If TypeOf AUSLOESER Is ComboBox Then AUSLOESER.ListIndex = CODE02 'vorherigen Wert einstellen
If TypeOf AUSLOESER Is OptionButton Then
AUSLOESER.Value = False
'...

End If
End If
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Objektübergabe an eine Prozedur 
Autor: effeff
Datum: 05.12.20 10:51

Me.Controls("cboRhythmus")

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Objektübergabe an eine Prozedur 
Autor: Hollie
Datum: 07.12.20 22:51

Hallo effeff, danke für die Antwort.
Nun, das Einfügen der Code-Zeile hat leider nur zu einer Fehlermeldung geführt (möglicherweise fehlt noch irgendwas), mich aber auf eine andere Idee gebracht, die ich erfolgreich umsetzen konnte. Insofern war Dein Tipp dann doch sehr hilfreich.
Gern würde ich natürlich auch verstehen, an was es in meinem Programm mit "Me.Controls("cboRhythmus")" noch fehlte, aber ich will das auch nicht übermäßig auswalzen.
Also nochmals vielen Dank und dir (und all den anderen VB6-Fans) eine gute Zeit. VG.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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