Datei im eigenen Programm mit dem Windows Explorer öffnen

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

Schlagwörter: , , ,

Dieses Thema enthält 7 Antworten und 2 Teilnehmer. Es wurde zuletzt aktualisiert von  Klaus Major vor 2 Monate, 1 Woche.

  • Autor
    Beiträge
  • #13323

    XAM Software
    Teilnehmer

    Hallo zusammen,
    unter Windows kennt man ja folgendes: Wenn man sich im Explorer befindet, kann man ja Dateien per Rechtsklick anklicken und anschließend auf Oeffnen mit... gehen. Jetzt meine Frage: Wie kann ich es bewältigen, dass wenn ich z.B. eine Bildbetrachter App programmiert habe, ich im Windows Explorer auf Oeffnen mit.. gehe und anschließend meine App auswähle, dass die Datei dann in meiner App z.B. bei einem Bild in einem Grafikobjekt angezeigt wird?
    Ich hoffe, da kann mir wer weiterhelfen.
    Vielen Dank schon mal im Vorraus,
    Gruß,
    Max

  • #13325

    Klaus Major
    Moderator

    Hi Max,

    ich bin Mac-User, habe aber mal auf der englischen LC-Mailingliste nachgefragt.
    Melde mich, sobald dort etwas Erhellendes gepostet wurde.

    Gruß

    Klaus

  • #13333

    XAM Software
    Teilnehmer

    Hi Klaus,
    Danke!

    Gruß,

    Max

  • #13341

    Klaus Major
    Moderator

    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...

  • #13346

    Klaus Major
    Moderator

    Und weiter geht's...

    2. Deine EXE ist bereits geöffnet
    Hierzu gab es leider gar keine Infos, ich habe mir das zusammengeklaubt und denke, dann wird die Message "relaunch" an Deine EXE gesendet.

    Auch mit den Umgebungsvarialben wie bei "startup", allerdings in gänderter Reihenfolge. Daher bitte auch einmal ausprobieren:

    on relaunch
      ## Wir lassen uns die Variablen anzeigen, immer gut, alles erst zu testen
      put "$0 = " & $0 & CR & "$1 = " & $1 & CR "$2 = " & $2 into fld "anzeige of cd 1
    end relaunch

    Wenn Du nun weißt, in welcher Variablen der Dateiname des bildes liegt, kannst Du wieder:

    on relaunch
      put $1 into einbild
      ## Sofern $1 der Pfad zum Bild ist, siehe oben...
      send "bildanzeigen einbild" to me in 30
    end relaunch

    Bitte mal ausprobieren und berichten, viel Erfolg!

    Gruß

    Klaus

  • #13540

    Klaus Major
    Moderator

    Hallo?
    Kein Interesse an einer Lösung?

  • #13563

    XAM Software
    Teilnehmer

    Hallo Klaus.
    habs ausprobiert, hat allerdings leider nicht wie gewünscht geklappt.

    Gruß,

    Max

  • #13565

    Klaus Major
    Moderator

    Die Beispiele sind aus dem Dictionary, sollten also weitgehend stimmen.
    Was genau hast Du denn geskripted? Und was und wie getestet?
    Bitte mal Deine Skripte hier posten, danke.

Du musst angemeldet sein, um auf dieses Thema antworten zu können.