AGB  ·  Datenschutz  ·  Impressum  







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

Labels überschreiben sich

Ein Thema von Andreas L. · begonnen am 27. Jun 2006 · letzter Beitrag vom 27. Jun 2006
Antwort Antwort
Andreas L.
(Gast)

n/a Beiträge
 
#1

Labels überschreiben sich

  Alt 27. Jun 2006, 20:29
Hi,
ich lasse zur Laufzeit den Text meines Labels ändern. Dazu verwende ich folgenden Code:

Delphi-Quellcode:
 lblInitalize.caption:='Fertig!';
 lblInitalize.Repaint;
Den selben Code mit anderen Text rufe ich noch weitere 4 mal auf. Leider bleibt am Ende des Labels immer ein Stück Text vom vorherigen Text übrig (siehe Anhang). Anstatt repaint habe ich auch schon refresh probiert. Bei Application.processmessages wechselt der Text nicht.

Muss ich das irgendwie anders aufrufen? Muss ich noch irgendwas machen?
Miniaturansicht angehängter Grafiken
error_label_159.png  
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Labels überschreiben sich

  Alt 27. Jun 2006, 20:31
Verwende mal TLabel.Update, das sollte klappen
Julian J. Pracht
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Labels überschreiben sich

  Alt 27. Jun 2006, 20:46
Wahrscheinlich hängt das damit zusammen das ich meinen Code im onPaint des Forms aufrufe. Leider weiß ich nicht wo ich es sonst hinpacken soll. Im onCreate und onShow gehts nicht.

Hier der Code den ich aufrufen möchte:
Delphi-Quellcode:
var
 config: Tinifile;
begin

 lblInitalize.Caption:='Überprüfe Einstellungenverzeichnis...';
 lblInitalize.Update;
 sleep(1000);

 //checks the config file
 if FileExists(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\config.ini')=false then
  //create config directory and copy default config file if it does not exist
  begin
   ForceDirectories(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\');
   CopyFile(pchar(extractfilepath(application.ExeName)+'config.bak'),pchar(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\config.ini'), true);
  end;

 pgbInitalize.Position:=pgbInitalize.Position+20;
 lblInitalize.Caption:='Lade Einstellungen...';
 lblInitalize.Update;
 sleep(1000);

 //load configuration
 config:=Tinifile.Create(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\config.ini');
 frmManager.language:=config.ReadString('Application','Language','English');

 pgbInitalize.Position:=pgbInitalize.Position+20;
 lblInitalize.Caption:='Lade Sprache...';
 lblInitalize.Update;
 sleep(1000);

 //load language
 if frmManager.LoadLanguage(frmManager.language)=false then
  begin
   if frmManager.language<>'Englishthen
    begin
     //if it does failure, load english language
     if frmManager.LoadLanguage('English')=false then
      begin
       //if english language cannot be loaded display a message and exit the program
       if MessageDLG('Die Sprachdatei konnte nicht geladen werden!'+#13#10+'Klicken Sie auf OK um die Anwendung zu beenden!',mtError, [mbOK],0)=mrOK then
        begin
         config.Free;
         Application.Terminate;
        end
      end
    end
   else
    begin
     //if english language cannot be loaded display a message and exit the program
     if MessageDLG('Die Sprachdatei konnte nicht geladen werden!'+#13#10+'Klicken Sie auf OK um die Anwendung zu beenden!',mtError, [mbOK],0)=mrOK then
      begin
       config.Free;
       Application.Terminate;
      end
    end
  end
 else
  begin
   pgbInitalize.Position:=pgbInitalize.Position+30;
   lblInitalize.caption:='Abschließende Schritte...';
   lblInitalize.Update;
   sleep(1000);
  end;

 //free memory
 config.Free;

 pgbInitalize.Position:=pgbInitalize.Position+10;
 lblInitalize.caption:='Fertig!';
 lblInitalize.Update;
 sleep(1000);
 frmManager.Show;
 frmSplash.Close;
Wo kann ich das noch hinpacken. Ist für einen Splash-Screen
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#4

Re: Labels überschreiben sich

  Alt 27. Jun 2006, 21:34
Der Fehler ist denke ich mal, dass der Textaufruf zu oft aufgerufen wird.
Die Methode von Matze könnte dir helfen:
http://www.delphipraxis.net/internal...ghlight=labels
  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:03 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