Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Problem mit if-Befehl (https://www.delphipraxis.net/169684-problem-mit-if-befehl.html)

Furtbichler 5. Aug 2012 10:45

AW: Problem mit if-Befehl
 
Senf:
Asserts sind dazu da, Programmier(er)fehler zu finden. Im Produktivcode existieren die Asserts ja nicht mehr.

Es ist wichtig, die Fehlermeldung zu verstehen: Wenn dort irgendwas mit Adressen in der Nähe von 0x000000** steht, handelt es sich eigentlich immer um ein Nil-Pointer Problem.

ByTheTime 5. Aug 2012 12:45

AW: Problem mit if-Befehl
 
OKay, aber warum ist dann ComboDis nicht initalisiert. Also das ganze steht im OnChange-Event des ComboDis. Und wenn man hier 'Variante 1' auswählt erscheint ein Panel.

Delphi-Quellcode:

if ComboDis.Text = 'Variante 1' then
   CalloutPower.Visible := true; //Simikolon noch dahinter
 //else
   //CalloutPower.Visible := false;
Wenn ich es so mache geht es ja, und ich kann mir nciht erklären, was jetzt die dazukommenden 2 Zeilen hervorrufen/ändern.

mkinzler 5. Aug 2012 12:58

AW: Problem mit if-Befehl
 
Versuch mal

Delphi-Quellcode:
if (Sender as TComboBox).Text = 'Variante 1' then
    CalloutPower.Visible := true; //Semikolon noch dahinter
else
  CalloutPower.Visible := false;

ByTheTime 5. Aug 2012 13:46

AW: Problem mit if-Befehl
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nein, immer noch das selbe :( Hier ist mal ein Bild imAnhang, was passiert, wenn ich ohne Debbuger compiliere.

Aber ich Überlege mir das ganze einfach zu lassen mit dem Text im ComboEdit... Damit habe ich nur Probleme und muss für jedes ComboEdit im OnClick-Event
Delphi-Quellcode:
ComboEdit.SelectAll;
und im OnExit
Delphi-Quellcode:
if ComboEdit.Text = '' then
   ComboEdit.Text := 'Beschriftung'
Da kann ich einfach auch alles mit Labels machen. Ich finde zwar somit sieht es schöne aus, aber ich ahbe nur Probleme und muss immer so Kleinigkeiten in den ganzen Events coden.

himitsu 5. Aug 2012 14:48

AW: Problem mit if-Befehl
 
Da die gezeigte Codestelle definitiv keinen Fehler behinhaltet und wir nicht wissen was sonst noch für Code vorhanden ist, kann hier auch keiner Helfen.

- entweder du zeigst mehr
- oder du stellst eine Demoanwendung zur Verfügung, welche den Fehler reproduzierbar zeigt
- oder du kümmerst dich endlich mal selber um das Problem (*)

*)
- Hast du denn nun schonmal geschaut, ob alle beteiligten Variablen i.O. sind? (Self und ComboEdit nicht nil)

- Programm mit DebugDCUs kompilieren
- schauen wo es nun knallt
- und falls nötig, dann Haltepunkt auf den Aufruf und manuell Stück für Stück vorarbeiten, bis die Problemstelle gefunden wurde.

hoika 5. Aug 2012 14:54

AW: Problem mit if-Befehl
 
Hallo
Deine comboboxen heißen unterschiedlich!
Kann es sein dass du die einmal in der
Pas-Datei direkt geändert hast.
Dann stimmt der Name in der DFM-Datei
und in der Pas-Datei nicht überein
Schau dir deine DFM-Datei
mal im Notepad an.


Heiko

himitsu 5. Aug 2012 16:00

AW: Problem mit if-Befehl
 
Zitat:

Zitat von hoika (Beitrag 1176948)
Schau dir deine DFM-Datei
mal im Notepad an.

Hast du was gegen den OI? :angle2:

hoika 5. Aug 2012 17:55

AW: Problem mit if-Befehl
 
Hallo,

der OI geht davon aus,
dass alles über ihn geht.
Sollte aus Versehen direkt in der Pas ein Komponenten-Name geändert werden,
gibt es Ärger.

Deshalb der Hinwweis, sich die DFM mal im Notepad anzusehen.

Ich würde die betreffende ComboBox eh mal Löschen,
dann aus Delphi raus (Speichern) und wieder anlegen.


Heiko

himitsu 5. Aug 2012 20:20

AW: Problem mit if-Befehl
 
Im OI siehst du den Propertyinhalte wie sie in der DFM stehn, also auch den Namen, welchen du in der DFM sehn könntest und die PAS ist dem da relativ egal.

PS: Strg+Alt+F12 geht vom Formdesigner aus bestimmt auch schneller, als Notepad, wobei du da auch keinen anderen Namen findest, abgesehn davon, daß du den gewünschten Wert erstmal in der DFM finden mußt.

ByTheTime 6. Aug 2012 16:17

AW: Problem mit if-Befehl
 
Nein, habe keinen Fehler bei der Benennung der Komponente gefunden. Allerdings hat es nach dem Löschen funktioniert :thumb: Habe das ganze nochmal nue getippt und jetzt funktioniert es einwandfrei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz