Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Beim "Form2.showmodal" hängt sich prog auf... (https://www.delphipraxis.net/39472-beim-form2-showmodal-haengt-sich-prog-auf.html)

Master_RC 3. Feb 2005 11:13


Beim "Form2.showmodal" hängt sich prog auf...
 
hi leutz!

folgendes prob:

ich hab die form1 mit dem aufruf (auf nen doppelklick folgend):

Unit2.charname = '....';
Form2.ShowModal;


so...

die form2 hat in ihrer OnShow das rinne:

ini := TIniFile.Create('.....');
label1.caption := ini.readstring('...','...','');
label2.caption := ......


tja....
jetzt wenn ich aber diese form hintereinander beim 3. male aufrufe (manchmal auch schon das 2. mal) hängt es sich auf...

habs schon mit "ini.free" probiert, klappt auch net...

Luckie 3. Feb 2005 11:22

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Was verstehst du unter "aufhängen"?

bigg 3. Feb 2005 11:39

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
oops, falsches posting....

Binärbaum 3. Feb 2005 11:44

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Ich weiß ja nicht, wie dieses "Aufhängen" bei dir genau aussieht, aber bei ShowModal kannst du erst wieder auf Form1 zugreifen, wenn du (bzw. der Benutzer) Form2 wieder geschlossen hast.
Zur Ini: die sollte man nachdem sie verwendet wurde grundsätzlich wieder freigeben (mit ini.Free; ).

MfG
Binärbaum

Master_RC 4. Feb 2005 11:29

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
gut,
mein fehler, sry!

also, aufhängen in diesem sinne:

das fenster erscheint zwar, scheint aber, als ob es sich die ganze zeit neu zeichnen möchte :(
also... immer eben so ein "flackern"....

Jasocul 4. Feb 2005 11:34

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Im OnShow solltest du die Anzeige-Elemente nicht aktualisieren. Dadurch wird das Show aktiviert. Dort aktualisierst du deine Anzeige-Elemente. Dadurch wird das Show aktiviert....

Master_RC 4. Feb 2005 11:41

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
ah, habs kapiert (nach 3 mal durchlesen ^^)

also sollte ich dann evtl. einen timer.enabled = false und dann im onshow timer.enabled = true?

timer:

ghfhghgithgtrpuhgptrh
wgfuwhrgpuiheg
gwte
timer.enabled := false;


bin isch richtig

malo 4. Feb 2005 13:17

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Warum erstellst du keine boolsche Variable, die dir Auskunft darüber gibt, wie oft Form2 schon angezeigt wurde? Wenn es angezeigt wurde, wird sie auf False gesetzt und im OnShow fragst du dann diese Variable ab ;)

Master_RC 4. Feb 2005 13:46

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
aaah... genau..

und im onclose wird sie dann wieder auf false gwesetzt? mmh.. au net schlecht ;)

Master_RC 10. Feb 2005 10:58

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
mist...

hab jetzt sowohl die boolische variante, als auch die mit einem timer versucht (enabled := true/false) versucht...

nix geht... :(

Master_RC 18. Feb 2005 17:58

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
na, bobbies, helft mir halt :(

teebee 18. Feb 2005 19:09

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Du könntest im OnShow mal alles auskommentieren und dann schrittweise wieder reinnnehmen, um mal zu schauen, ob es am Code in OnShow liegt. An der Zuweisung an das Label.Caption liegt es eher nicht, dadurch wird kein neues OnShow ausgelöst. Aber vielleicht machst Du noch etwas anderes, oder hast noch eine andere Komponente in Deinem Programm, die irgendwas macht. Zeig einfach noch mehr Code.

Gruß, teebee

TStringlist 18. Feb 2005 20:15

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Imo gehören solche IniFile-Arbeiten normalerweise nur in den OnCreate-Eventhandler, ...womit also diese Aktion dann sowieso auch nur ein einziges mal ausgeführt würde, nämlich direkt während/nach der Erzeugung der Form. Alles andere ist doch irgendwie überflüssig und damit auch eher fehlerträchtig.

Zitat:

Zitat von Master_RC
habs schon mit "ini.free" probiert, klappt auch net...

Ein ini.free am Ende dieser Arbeiten ist eh obligatorisch!

SirThornberry 18. Feb 2005 21:11

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
statt ins onShow könnte man das ganze auch direkt vor "form2.ShowModal" schreiben bzw. zur Übersichtlichkeit eine Funktion welche die Dinge aus dem "OnShow" ausführt und anschließend das "ShowModal"

Binärbaum 18. Feb 2005 22:51

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Zitat:

Zitat von TStringlist
Imo gehören solche IniFile-Arbeiten normalerweise nur in den OnCreate-Eventhandler, ...

Aber wenn man Form2 schließt, und später wieder öffnet und dazwischen die Ini verändert wurde, macht das keinen Sinn, da die Daten dann ja nicht nochmal eingelesen werden. (Und ich glaube darum geht es hier.)
Also ist es sinnvoller, die Daten jedesmal vor dem Anzeigen des Form2 einzulesen.

MfG
Binärbaum

TStringlist 18. Feb 2005 23:19

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
ich bin natürlich davon ausgegangen, dass diese Ini irgendwelche Konfigurationsdaten enthält, die diese Form2 vor ihrem letzten Free'n (also wahrscheinlich bei der letzten Ausführung der App) auch schnell noch in diese Ini selbst wieder abgespeichert hat. So wie Inis doch meistens auch benutzt werden. Sollten diese Ini-Daten allerdings von woanders herkommen, um Form2 dann immer mal wieder einen neuen Habitus o. Inhalt zu verschaffen, dann hast du natürlich recht. Aber warum dann überhaupt die Ini? Mann könnte diese Daten dann doch auch gleich in Form2 einbringen...denn sie existiert ja noch, da: close <> free.

edit: ...wenigstens sofern diese Daten nicht immer von von einer anderen App kommen. Aber event. klärt das Master_RC ja nochmal selbst auf.

Master_RC 23. Feb 2005 14:29

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
ähm... nein?

also ich lese das immer wieder ernaut aus, da jeder charakter (vom spiel her) eine eigene ini hat...

nur... warum hängt sich der... "depp"... auf?

hab jetzt schon nen timer, das ini.free, eine bool-var ausprobiert - nix klappt! :cry:

jim_raynor 23. Feb 2005 15:43

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
Ich glaube, dass das Problem an einer ganz anderen Stelle liegt. Es gehört zum Standard innheralb von OnShow. Labels und ähnliches mit Werten zu versorgen. Genau dafür ist es da. Da ist nichts mit zeichnen oder ähnlichem. Dein Problem muss also ganz klar woanders liegen.

Master_RC 25. Feb 2005 10:47

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
mmmh....

ich schau mir den code nochmal genauer an, abba ich hab da schon so oft gekuckt... naja... für euch tu ich halt alles ;)

Master_RC 10. Mär 2005 10:52

Re: Beim "Form2.showmodal" hängt sich prog auf...
 
hab den fehler jetzt gefunden:

eine komponente hat sich alle milliselunde neu zeichnen lassen :gruebel:

naja...
jetzt isses gelöst ;)

PS:
komponentenname: TAsemiPanel


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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