![]() |
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... |
Re: Beim "Form2.showmodal" hängt sich prog auf...
Was verstehst du unter "aufhängen"?
|
Re: Beim "Form2.showmodal" hängt sich prog auf...
oops, falsches posting....
|
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 |
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".... |
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....
|
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 |
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 ;)
|
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 ;) |
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... :( |
Re: Beim "Form2.showmodal" hängt sich prog auf...
na, bobbies, helft mir halt :(
|
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 |
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:
|
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"
|
Re: Beim "Form2.showmodal" hängt sich prog auf...
Zitat:
Also ist es sinnvoller, die Daten jedesmal vor dem Anzeigen des Form2 einzulesen. MfG Binärbaum |
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. |
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: |
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.
|
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 ;) |
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