• Hi,

    Ich habe ein Multipe Document Programm mit mehreren Dokumenten offen. Dann fahre ich GEOS herunter. Wenn ich GEOS wieder hochfahre ist das zuletzt aktive Dokument noch zu sehen, aber es ist nicht aktiv.
    Das heißt: Im Primary-Fenster wird der Name eines anderen Dokuments angezeigt. Das ist auch im Fenster-Menü ausgewählt. Aktionen, die von Menüpunkten aus ausgelöst werden und ans "aktive" Dokument gehen, gehen an das im Primary angezeigte Dokument (und funktionieren dort auch). Für den Nutzer ist da aber unsichtbar (und daher confusing), weil er das "falsche" Dokument sieht.
    Erst wenn ich in das sichtbare Dokument klicke, ist alles wieder OK.

    Intern schient es so zu sein, dass beim Restart alle offenen Dokumente MSG_META_GAINED_MODEL_EXCL bekommen, aber in der Reihenfolge:
    1. das beim Runterfahren aktive Dokument
    2. die anderen Dokumente

    Fazit: Es ist ein anderes Dokument "Aktiv", aber das vor dem Runterfahren aktive wird noch angezeigt. Da gleiche Verhalten zeigt schon R-BASIC.

    Was mach ich falsch?

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hm... Ich konnte das Phänomen nicht ganz nachvollziehen. Ich habe drei GeoDraw-Dokumente geöffnet, jedes für sich (also jedes in seinem eigenen Fenster); Dokument 1, Dokument 2, Dokument 3, in der Task-Leiste von links nach rechts aufsteigend sortiert.

    Ich fahre Geos mit geöffneten Dokumenten herunter und anschließend wieder hoch. Das zuletzt geöffnete Dokument 3 wird angezeigt, allerdings steht es in der Reihenfolge in der Task-Leiste nicht mehr rechts sondern die Reihenfolge hat sich umgekehrt, das Dokument 3 steht in der Task-Leiste jetzt links am Anfang, ist aber auch aktiv.

    Aufgefallen ist mir das noch nie aber ob man dieses Verhalten als Fehler bezeichnen kann... Es wird einfach nur die Sortierreihenfolgen geändert.

    Wenn ich die drei Dokumente alle in einem Fenster öffne, bleibt nach einem Neustart alles so wie es war.

    Gruß Achim


    PC/GEOS unter Linux in der DOSEMU = UNSCHLAGBAR!

  • Hallo Achim und Rainer, vielleicht liegt es ja gar nicht am Programm, sondern an der benutzten SpecificUI? Sprich: Geht es vielleicht in Motif, aber nicht in ISUI oder so?

    Das sollte man feststellen können, indem man mal nur das STATE-File von GeoDraw oder nur das von der UI vor dem Neustart löscht.

    There are two rules in life:
    1. Never give out all of the information.

  • Hallo Rainer,

    Ich kenne das Problem auch aus R-BASIC unter BBX 4.13, wenn ich mehrere Projekte offenhabe und Geos neustarte. Sobald ich direkt nach dem Neustart F9 zum compilieren und starten drücke, wird nicht das in der Leiste angewählte und im Text dargestellte Projekt compiliert, sondern das Projekt im Hintergrund.

    Hatte es bisher als liebenswürdige Besonderheit abgetan.

    Mario

  • Ja, das Problem ist, dass nur meine Programme dieses Verhalten zeigen. GeoDraw, ~File usw funktionieren. Und ich bin der Meinung, dass ich alles so gemacht habe, wie es in der Doku steht.

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hmmm… ob du vielleicht noch attach/detach überschreiben musst? (jedenfalls steht hier auch etwas wegen State…)

    Handling MSG_GEN_DOCUMENT_DETACH_UI_FROM_DOCUMENT should undo all of the things done by ATTACH_UI. When the document is saved and restored to and from state, both these messages are called, so the need to mirror each other so that the file will be connected correctly.

    pcgeos/Appl/GeoDraw/Document/documentDocument.asm at master · bluewaysw/pcgeos
    #FreeGEOS source codes. The offical home of the PC/GEOS operating system technology. For personal computing fans. For all developers and assembly lovers. For…
    github.com

    There are two rules in life:
    1. Never give out all of the information.

  • Hallo an alle und danke für die gut gemeinten und durchdachten Tipps. Das Problem lag - wie soll es anders sein - an einer völlig unerwarteten Stelle.

    Gefunden habe ich es, indem ich alle Dokument-relevanten Objekte in meinem Programm mit denen von GeoFile verglichen und Unterschiede angepasst habe.

    In R-BASIC (und wahrscheinlich einigen anderen Programmen) habe ich den Fehler auch drin.

    LG
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hallo Rainer,

    in pcgeos\Appl\SDK_C\GrObj\DupGrObj\dupgrobj.goc steht aber ausdrücklich:

    @object GenDisplayClass DGDisplay = {
    /*
    * The display starts not usable since it is not in the generic tree.
    * It will be set usable after being added to the display control.
    */
    GI_states = @default & ~GS_USABLE;
    GI_comp = @DGView;
    ATTR_GEN_DISPLAY_NOT_MINIMIZABLE;

    /*
    * Make sure we get the focus and target when we're opened.
    */
    HINT_DEFAULT_FOCUS;
    HINT_DEFAULT_TARGET;
    }

    Gruß

    Wilfried

  • Interessant. Hast du da mal compiliert und geschaut was es beim Restart macht, wenn mehrere Dokumente offen sind? Wenn das klappt, müsste man noch mal neu denken, woran es bei mir gelegen hat.
    Ich schau auch mal ob ich das probieren kann.

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Also ... vor dem Neustart:


    Nach dem Neustart


    Das aktive Fenster ist ein Anderes und es ist im Hintergrund. Also genau der beschriebene Fehler.
    Da wird man wohl das Beispiel korrigieren müssen :)

    Trotzdem: Guter Fund, Wilfried, danke!

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.