Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Refresh einer ListBox


2 replies to this topic

hmoeckel

hmoeckel
  • Full Members
  • 97 posts

Posted 04 August 2004 - 09:31

Hallo

ich arbeite mit IS7 an einem Basic-MSI-Projekt

Ich habe einen Dialog A, der eine 'ListBox' enthält. Diese ListBox( genauer gesagt, die ListBox-tabelle) fülle ich zur Laufzeit per Installscript.( analog zu Q103295 IS-Knowledge Base).

Mein Problem jetzt ist folgendes:
Von Dialog A aus öffne ich einen Dialog B( SpawnDialog), worin ich eine Text-Eingabe mache, die dann in die ListBox-Tabelle eingetragen wird. Schliesse ich Dialog B, ist dieser Eintrag in Dialog A nicht sichtbar.

Erst wenn ich Dialog A etwa per 'back'-Taste verlasse, und danach vom vorigen Dialog aus neu öffne, ist der Eintrag in der ListBox sichtbar.

Weiss jemand, ob und wie man den 'Refresh' eines Dialogs gezielt veranlassen kann

danke im voraus

HM

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 August 2004 - 11:26

Damit MSI die Listbox Tabelle neu einliest, musst du tatsächlich den Dialog neu laden. Dazu kannst du eine Kopie des Dialogs erstellen und (für den Anwender unbemerkt) zwischen Original und Kopie hin und her wechseln. Ob das im Zusammenhang mit den SpawnDialog möglich ist, müsste man allerdings genau überlegen.

hmoeckel

hmoeckel
  • Full Members
  • 97 posts

Posted 04 August 2004 - 13:26

danke für den Tip mit der Kopie

ich habs leider nicht hingekriegt mit dem SpawnDialog. Ich habe zwar das Ereignis EndDialog angegeben für Dialog A parallel zum SpawnDialog von Dialog B, aber das Fenster A bleibt stehen, möglicherweise weil man dem untergeordneten Fenster das übergeordnete Fenster nicht unter dem Hintern weg ziehen kann. So habe ich dann Kopie und Original parallel auf dem Bildschirm, wobei das Original nicht mehr ansprechbar ist.

Ich habe es jetzt so geloest, dass ich den Dialog B über ein NewDialog aufrufe und beim Schliessen wieder ein NewDialog von Dialog A. Dialog B ist eine Dateiauswahlmaske und hat die gleiche aeussere Geometrie wie Dialog A, so dass es ( hoffentlich) einem späteren Anwender nicht so sehr auffaellt.

gruss

hm