| |
Visual-Basic EinsteigerObjektü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 | |
Re: Objektübergabe an eine Prozedur | | | Autor: effeff | Datum: 05.12.20 10:51 |
| Me.Controls("cboRhythmus") EALA FREYA FRESENA | |
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. | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
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
|
|