![]() |
Exception beim ausblenden von Labels auf einem Tabsheet
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo ich habe folgendes Problem, und ich weiss nicht wie ich es lösen soll:
Ich habe eine Anwendung die mehrere Tabsheets beinhaltet, diese sind ohne Passwort ersteinmal disabled. Dazu habe ich ein Label 'Gesperrt' auf dem Tabsheet liegen. Also folgender Fall: die Tabsheets werden freigegeben und die Labels werden ausgeblendet. Genau da tritt eine Exception auf... folgender Quellcode:
Delphi-Quellcode:
Ich habe einen Backgroundtask am Laufen, der Daten von der Schnittstelle holt und diese auch selbst über Synchronize an die Labels der Tabsheets weitergibt, könnte dort das Problem liegen?
(*******************************************************************************
Wechsel vom Worker in den ReadOnly Mode und umgekehrt --> shouldLock = true --> ReadOnly aktiv --> shouldLock = false --> Worker aktiv *******************************************************************************) procedure TfrmMain.LockTabs(shouldLock: Boolean); // Sperrt oder Entsperrt den Zugriff auf die Tabs begin try tabGeraeteDaten.Enabled := NOT(shouldLock); tabKalibrierung.Enabled := NOT(shouldLock); tabAnalogAusgang.Enabled := NOT(shouldLock); tabExcel.Enabled := NOT(shouldLock); tabSonstiges.Enabled := NOT(shouldLock); lblGesperrt1.Visible := shouldLock; lblGesperrt2.Visible := shouldLock; lblGesperrt3.Visible := shouldLock; lblGesperrt5.Visible := shouldLock; lblGesperrt7.Visible := shouldLock; if tabDatalogging.Visible then begin lblGesperrt6.Visible := shouldLock; end; except ShowMessage('Fehler beim Freischalten der Anwendung'); end; end; // of procedure TFrmMain.LockTabs(shouldLock: Boolean); //////////////////////////////////////////////////////////////////////////////// EDIT1: Tritt aber auch ohne Backgroundtask auf (Exception im Anhang) Irgendwie weiß ich nicht wo genau dort das Problem liegt?? Danke schonmal Gruß DelphiManiac |
Re: Exception beim ausblenden von Labels auf einem Tabsheet
welche art von exception?
versuch mal
Delphi-Quellcode:
except
on e: exception do begin ShowMessage('an error occured: ' + e.Message); end; end; |
Re: Exception beim ausblenden von Labels auf einem Tabsheet
Kann mir kaum vorstellen, dass das durch das Ein- / Ausblenden der Labels ausgelöst wird.
Hast du die Funktion mal mit einem Breakpoint angehalten und bist sie durchgesteppt (F8)? |
Re: Exception beim ausblenden von Labels auf einem Tabsheet
Lesen von Adresse 0x000000123 deutet eigentlich auf den Versuch hin, ein Feld eines nicht instantiierten Objektes anzusprechen.
|
Re: Exception beim ausblenden von Labels auf einem Tabsheet
Es scheint aber wirklich die labels zu betreffen...
wenn ich die auskommentiere habe ich kein Problem. Es tritt ja auch nicht immer auf... ich guck mir jetzt mal label für label an... |
Re: Exception beim ausblenden von Labels auf einem Tabsheet
@alzaimar:
Ja da hast du vollkommen Recht, jetzt habe ich auch die Ursache gefunden. es lag an lbl2Geperrt, dieses lag auf einem JVPanel, den ich dynamisch zur Laufzeit mit Controlls füttere und diese auch beim OnShow des Tabsheets wieder lösche und neu erzeuge. Also habe ich mir anscheinend hier mein Label selbst gelöscht ..aaargh (Asche auf mein Haupt..)
Delphi-Quellcode:
Ein Label wird doch auch von TControl abgeleitet, oder?
(*******************************************************************************
Prozedur zum Löschen des Panels "PanelKalibrierung" --> Jedes Control wird gelöscht [Control = hier eine Kanalansicht], bis es keine Controls mehr auf dem Panel gibt *******************************************************************************) procedure TfrmMain.LoescheKanalAnsicht; var i : Integer; buffer : TControl; begin if self.PanelKalibrierung.ControlCount > 0 then begin for i := self.PanelKalibrierung.ControlCount - 1 downto 0 do begin buffer := self.PanelKalibrierung.Controls[i]; self.PanelKalibrierung.RemoveControl(self.PanelKalibrierung.Controls[i]); buffer.Free; end; // for i := self.PanelControls.ControlCount - 1 downto 0 end; // if self.PanelControls.ControlCount > 0 end; // of procedure TFrmMain.reset; //////////////////////////////////////////////////////////////////////////////// Gruß und dank an alle Ich habe das Label jetzt vom Panel genommen.. |
Re: Exception beim ausblenden von Labels auf einem Tabsheet
Zitat:
TLabel <- TCustomLabel <- TGraphicControl <- TControl |
Re: Exception beim ausblenden von Labels auf einem Tabsheet
Ok,
manchmal sieht man die TLabels (Bäume) vor lauter TControls (Wald) nicht :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:59 Uhr. |
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