AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FindComponent und TCheckBox

Ein Thema von FriendOfDelphi · begonnen am 13. Sep 2011 · letzter Beitrag vom 13. Sep 2011
Antwort Antwort
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#1

FindComponent und TCheckBox

  Alt 13. Sep 2011, 12:49
Delphi-Version: 5
Hallo Allerseits,

ich habe eine Frage zu der Funktion FindComponent in Verbindung mit Checkboxen.
Bisher habe ich FindComponent in Verbindung mit Edit-Feldern verwendet:
MyText:=(AParent.FindComponent(sName) as TEdit).Text; Das funktioniert prima. Ich übergebe mit "sName" den Namen der Komponente und lese dann den Inhalt.

Nun möchte ich das Ganze um Checkboxen erweitern.
Und zwar möchte ich wieder die entsprechende Checkbox über ihren Namen im Form finden und dann abfragen, ob diese ab-/angehakt ist.
Ich habe es mit MyCheckbox:=(AParent.FindComponent(sName) as TCheckBox).checked; probiert, aber der Compiler meldet den Fehler "Operator ist auf diesen Operandentyp nicht anwendbar" und zeigt auf den Punkt vor ".checked".
Verwende ich die falsche Syntax oder geht das nicht?
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Butch87

Registriert seit: 3. Mai 2007
70 Beiträge
 
#2

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 12:51
Was für ein Typ ist "MyCheckbox"?
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#3

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 12:53
Was für ein Typ ist "MyCheckbox"?
"MyCheckbox" ist vom Typ "Boolean".
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 13:03
StdCtrls ist eingebunden? Bei mir (Delphi 2007) habe ich keine Probleme feststellen können:
Delphi-Quellcode:
function GetChecked(const AParent: TWinControl; const AName: string): Boolean;
begin
  Result := (AParent.FindComponent(AName) as TCheckBox).Checked;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#5

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 13:14
StdCtrls ist eingebunden? Bei mir (Delphi 2007) habe ich keine Probleme feststellen können:
Delphi-Quellcode:
function GetChecked(const AParent: TWinControl; const AName: string): Boolean;
begin
  Result := (AParent.FindComponent(AName) as TCheckBox).Checked;
end;
Ja, die Unit "StdCtrls" ist eingebunden. Der Compiler meckert auch nicht über die Checkboxen.
Was ist anders, wenn man die Abfrage über eine Funktion und nicht direkt macht?
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 13:23
Was ist anders, wenn man die Abfrage über eine Funktion und nicht direkt macht?
Im Prinzip nichts. Ich denke, der Fehler liegt woanders, zeig doch mal etwas mehr Code.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#7

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 13:50
Was ist anders, wenn man die Abfrage über eine Funktion und nicht direkt macht?
Im Prinzip nichts. Ich denke, der Fehler liegt woanders, zeig doch mal etwas mehr Code.
Eigentlich mache ich nichts weiter als oben beschrieben.
Hier mal die Prozedur mit den wichtigsten Teilen:
Delphi-Quellcode:
procedure TMyClass.Check(sName: String);
var
  sWert: string;
  MyCheckbox: Boolean;
begin
    [...]
    sWert:=(FForm.FindComponent(sName) as TEdit).Text; //das funktioniert problemlos
    MyCheckbox:=(FForm.FindComponent(sName) as FCheckBox).checked; //hier meldet der Compiler den o.g. Fehler
    [...]
end;
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 13:53
Was ist denn FCheckbox?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#9

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 14:43
Was ist denn FCheckbox?
Oh Mann, dass ist jetzt aber peinlich
Das muss natürlich TCheckbox heißen.
Ein klassischer copy'n'paste-Fehler.
Problem ist damit gelöst
Manchmal muss eben auch mal jemand anderes auf den Quellcode schauen.
Danke DeddyH!
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

AW: FindComponent und TCheckBox

  Alt 13. Sep 2011, 14:47
Keine Ursache, gern geschehen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz