Antwort auf: Datei im eigenen Programm mit dem Windows Explorer öffnen

Startseite Foren Deutsches LiveCode-Forum Datei im eigenen Programm mit dem Windows Explorer öffnen Antwort auf: Datei im eigenen Programm mit dem Windows Explorer öffnen

#13341
Klaus Major
Administrator

    Hi Max,

    leider war die Reaktion auf der englischen Liste eher mau, es hat nur einer eine etwas kärgliche und nciht sonderlich befriedigende Antwort gegeben.

    Unbedingt nachlesen im Dictionary: “$” (Dollar = erster Eintrag) und “relaunch”!

    Vorweg, wie deine App später in diese Explorer Liste reinkommt, überlasse ich mal Dir…

    Offensichtlich müssen wir hier zwei Szenarien unterscheiden und unterschiedlich darauf reagieren.

    1. Deine EXE ist noch nicht geöffnet
    In dem Fall musst Du einen “startup” Handler im Stackskript erstellen, der die gelieferten Parameter auswertet und darauf reagiert.

    Es werden zwei (oder gar mehr) Parameter (Umgebungsvariablen) mitgeliefert:

    on startup
      ## Diese Message bekommt LC als allererstes, noch weit vor "pre-/openstack"
      ## Wir lassen uns die Variablen anzeigen, immer gut, alles erst zu testen
      put "$0 = " & $0 & CR & "$1 = " & $1 into fld "anzeige of cd 1
    end startup

    $0 sollte der Name (oder Pfad?) Deiner EXE sein
    $1 der Pfad zu dem Bild, was Deine EXE öffnen soll.

    Wenn das obige klappt, kannst Du dann Folgendes machen:
    Erstelle einen Handler, der das Bild dann in einem Bildobjekt anzeigt und rufe diesen Handler etwas zeitversetzt, die Engine benötigt etwas, um sich ganz auszubreiten und den Stack “quasi” erst bereitstellt.

    ## Das hier auch ins Stackskript!

    command bildanzeigen dasbild
       set the filename of img "Dein Boildobjekt hier..." of cd XYZ to dasbild
    end bildanzeigen

    Und das entsprechende “startup” Skript:

    on startup
      put $1 into einbild
      ## Sofern $1 der Pfad zum Bild ist, siehe oben...
      send "bildanzeigen einbild" to me in 30
      ## 30 = 30 Ticks = eine halbe Sekunde, sollte reichen
    end startup

    Bitte mal ausprobieren, Teil 2 kommt etwas später…