AGB  ·  Datenschutz  ·  Impressum  







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

FormShow mit CoolTrayIcon dauert zu lange

Ein Thema von AlexII · begonnen am 2. Jan 2010 · letzter Beitrag vom 3. Jan 2010
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 17:03
Zitat von AlexII:
Und bei mir sieht das so aus, wenn jemand lust hat guck mal durch, vielleicht gibt's da was zu verbessern.
Liest du, was wir hier schreiben? Nimm OnCreate und nicht OnShow. Sonst ist klar, dass bei jedem Maximieren die Anwendung erst einmal hängt, bei diesem gigantischen Code, der dann jedesmal abgearbeitet wird (ich habe ihn mir nicht angesehen).

Edit: Prüfe nie auf "= true" oder "= false".

So muss das sein:
if CheckBoxX.Checked then oder

if not CheckBoxX.Checked then
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#12

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 17:08
Zitat:
Edit: Prüfe nie auf "= true" oder "= false".
Wow, danke, cooler Tipp
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 17:10
Und das hier:

Delphi-Quellcode:
case ComboBox1.Itemindex of
  3: Image9.Visible := False;
  7: Image9.Visible := False;
  21: Image9.Visible := False;
  22: Image9.Visible := False;
  24: Image9.Visible := False;
  25: Image9.Visible := False;
end;
lässt sich bsp. auch vereinfachen:

Delphi-Quellcode:
case ComboBox1.Itemindex of
  3, 7, 21, 22, 24, 25: Image9.Visible := False;
end;
Falls du wissen möchtest, wieso das mit dem Boolean-Vergleich so ist, kannst du dir das mal ansehen: Über den Umgang mit Boolean.

Edit: Achja, benenne deine Komponenten doch mal vernünftig. Du verstehst deinen Code so nämlich nur in Verbindung mit dem Formular.

Das liest sich beispielsweise sehr schlecht:

Delphi-Quellcode:
if ShowDate1.Checked=True then
begin
Label10.Visible:=True;
Label10.Caption:=FormatDateTime('dddd, d. mmmm yyyy', date);
end else Label10.Visible:=False;
Man kann erahnen, was du machst, aber viel lesbarer ist sowas, da du alleine anhand des Codes sagen kannst, was genau in der GUI passiert:

Delphi-Quellcode:
if ChkBoxShowDate.Checked then
begin
  LblDate.Visible := true;
  LblDate.Caption := FormatDateTime('dddd, d. mmmm yyyy', date);
end else
  LblDate.Visible := false;
Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#14

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 17:26
Hallo Alex,

also was mir so aufgefallen ist, sind deine Bezeichner. Es kann sein, das es so OK ist, wenn du diese z.B. für Find oder so nutzen tust, aber wenn nicht wäre es schon ratsam, deinen Komponenten eindeutige Bezeichner zu geben...

Delphi-Quellcode:
Image11.Visible := False;
Image10.Visible := True;

Label10.Caption:='Label10';
Label10.Left:=348; //344
Label10.Caption:=FormatDateTime('dddd, d. mmmm yyyy', date);

//So z.B.

ImageFirma.Visible := False;
ImageKunde.Visible := True;

//oder, bevor man mich schlägt weil Deutsche Namen

Image.Company := false;
Image.Company := true;
ich denke Du weißt was ich meine.

[EDIT] Zu langsam, aber kein roter Kasten, seltsam

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#15

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 17:30
Ich hab in der Schule so gelernt, wir habe nie die Bezeichnung geändert. Bin also so gewöhnt, die Umstellung ist sogar etwas umständlich. Aber mal schauen, vllt kriege ich es hin.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#16

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 17:33
Zitat von Alex:
Ich hab in der Schule so gelernt, wir habe nie die Bezeichnung geändert. Bin also so gewöhnt, die Umstellung ist sogar etwas umständlich. Aber mal schauen, vllt kriege ich es hin.
Es wird Dir und allen anderen aufjedenfall das leben leichter machen. Du willst ja vieleicht auch in 2 Jahren nochmal was an deinem Programm machen.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 17:47
Zitat von Jens Hartmann:
Delphi-Quellcode:
//oder, bevor man mich schlägt weil Deutsche Namen

Image.Company := false;
Image.Company := true;
Na ob das kompiliert?
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#18

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 22:46
Also ich hab jetzt den ganzen Code in OnCreate verlagert, aber mehr als die Hälfe funktioniert nicht. Da werden den Formularen 3 und 5 Werte zugewiesen, aber diese sind doch noch nicht createt.

Hab keine Ahnung wie man das anders als in OnShow machen kann.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#19

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 23:14
Zitat von Matze:
Na ob das kompiliert?


Ne, ich denke eher nicht, muss natürlich so aussehen.

Delphi-Quellcode:
CompanyImage.Visible := False;
CustomerImage.Visible := True;
Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#20

Re: FormShow mit CoolTrayIcon dauert zu lange

  Alt 2. Jan 2010, 23:16
Zitat von Alex:
Da werden den Formularen 3 und 5 Werte zugewiesen
Dann leg die Zuweisung doch in das FormCreate von Form3 und von Form5. Es ist logisch. In deiner Projektdatei, werden diese erst später erstellt.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 00:31 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