AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Exception beim ausblenden von Labels auf einem Tabsheet

Exception beim ausblenden von Labels auf einem Tabsheet

Ein Thema von DelphiManiac · begonnen am 20. Sep 2007 · letzter Beitrag vom 20. Sep 2007
Antwort Antwort
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 09:31
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:
(*******************************************************************************
  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);
////////////////////////////////////////////////////////////////////////////////
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?
EDIT1: Tritt aber auch ohne Backgroundtask auf (Exception im Anhang)
Irgendwie weiß ich nicht wo genau dort das Problem liegt??

Danke schonmal

Gruß
DelphiManiac
Miniaturansicht angehängter Grafiken
excep_115.gif  
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 09:51
welche art von exception?

versuch mal
Delphi-Quellcode:
except
  on e: exception do
  begin
    ShowMessage('an error occured: ' + e.Message);
  end;
end;
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#3

Re: Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 09:53
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)?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 09:57
Lesen von Adresse 0x000000123 deutet eigentlich auf den Versuch hin, ein Feld eines nicht instantiierten Objektes anzusprechen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#5

Re: Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 10:01
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...
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#6

Re: Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 10:24
@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:
(*******************************************************************************
  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;
////////////////////////////////////////////////////////////////////////////////
Ein Label wird doch auch von TControl abgeleitet, oder?

Gruß und dank an alle

Ich habe das Label jetzt vom Panel genommen..
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#7

Re: Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 10:34
Zitat von DelphiManiac:
Ein Label wird doch auch von TControl abgeleitet, oder?
Ja:
TLabel <- TCustomLabel <- TGraphicControl <- TControl
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#8

Re: Exception beim ausblenden von Labels auf einem Tabsheet

  Alt 20. Sep 2007, 15:15
Ok,

manchmal sieht man die TLabels (Bäume) vor lauter TControls (Wald) nicht
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:15 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