Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

window-aufruf aus droplet (on open-handler)
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 07.05.2006 - 00:31    Titel: JAAAAAJAAAAAAJAAAAAAA! Antworten mit Zitat

plan b ist aufgegangen:

hab jetzt alles von scriptobjekten auf handler umgestrickt und die variablen, die handlerübergreifend verwendet werden, zu globals gemacht, damit alles quasi auf einem level steht. das grund-gerüst sieht jetzt folgendermassen aus:

global MeineVariablen
on open Names
   -- on open handler liefert gedroppte dateien, ordner, mama-ordner usw.
   -- und entscheidet per if then anhand der namen von ordnern
   -- und ordnerinhalten, welcher handler laufen soll
end open

on Eins(MeineVariablen) -- Handler ohne UI
   -- normale Droplet-Aktion (z.B.) Dateien umbenennen ohne UI
end Eins

on Zwei_1(MeineVariablen) -- Handler mit UI (VOR UI)
   -- sammelt Informationen aus den Dateien
   -- und zündet das UI mit default-werten
   open window "W1" -- UI öffnen
   -- set contents of text field "I1" of window "W1" to Info1 -- textfeld füllen
   -- set contents of text field "I2" of window "W1" to Info2 -- textfeld füllen
end Zwei_1

(* -- (nur auskommentiert, wg. Codeformatter/Scripteditor)
on clicked theObject
   if name of theObject is "ÄNDERN" then
      set output1 to contents of text field "I1" of window "W1"
      set output2 to contents of text field "I2" of window "W1"
      hide window "W1"
      Zwei_2(output1, output2) of me -- zweiten Teil zünden (NACH UI)
   else if name of theObject is "ABBRECHEN" then
      hide window "W1"
      error number -128
   end if
end clicked
*)

on Zwei_2(output1, output2) -- Handler mit UI (NACH UI)
   -- Und weiter im Programm mit aktualisierten Daten aus UI
end Zwei_2


Ein CodeFormatter für XCode wäre nicht übel! habs jetzt in den Scripteditor kopiert + die zickenden zeilen auskommentiert.

UND ES LÄUFT! Da ist das geblümte Höschen aber nass vor lauter glück.

auf hochdeutsch: anhalten tut kriegen! eins auf die Fresse Applaus
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 07.05.2006 - 00:51    Titel: Antworten mit Zitat

iScript hat Folgendes geschrieben:

@snow: aber das ist ja nicht so ganz genau mein thema: ich will definitiv ein droplet, aber eben mit UI. ich hatte mir deinen workshop schon vorher mal durchgelesen.


Mir ist schon klar, dass mein Skript im Artikel praktisch genau gegenteilig funktioniert. Ich wollte dir eigentlich nur die Herangehensweise verdeutlichen, dass man ein Fenster eigentlich nur anfangs ausblenden muss und wenn man es braucht, blendet man es ein.

Bei dir regiert im Moment das Skript. Sobald aber mal das Interface sichtbar ist, sollte das Interface die Steuerung übernehmen.

Dann kommt so ein Problem, wie das Skript pausieren lassen bis dies oder jenes geschieht gar nicht vor. Wenn also das Interface geöffnet ist, muss Schluss sein im bisherigen Skript.

Alles was nun folgen soll, wird von der Bedienung des Interfaces abhängig gemacht.

Bei XCode muss man etwas umdenken. Während man bei einem herkömmlichen AppleScript den Ablauf genau planen muss, und dies dann auch seriell, Schritt für Schritt so abgeht, stellt das Skript in XCode eher eine Ansammlung von Funktionen dar, die ablaufen, wenn etwas im Interface geschieht.

Eine sehr wichtige Rolle spielt da natürlich der 'on clicked theObject'-Handler. Du fragst den Inhalt der Variablen 'theObject' ab und kannst darauf entsprechend reagieren. Somit kann dieser Handler mit jedem Interface-Objekt verwendet werden, das man irgendwie anklicken kann.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 07.05.2006 - 10:17    Titel: Antworten mit Zitat

Hi snow.
Da haben wir unsere letzten beiträge ja fast zeitgleich gepostet.
deine antwort war jedenfalls gleich beim abdrücken da.
Snow hat Folgendes geschrieben:
Bei dir regiert im Moment das Skript. ...
... Wenn also das Interface geöffnet ist, muss Schluss sein im bisherigen Skript.
Alles was nun folgen soll, wird von der Bedienung des Interfaces abhängig gemacht.
Bei XCode muss man etwas umdenken. ...

Da lagst du natürlich (wie immer) wieder genau richtig. etwas umdenken ist allerdings etwas untertrieben. das hat mich schon ein paar nerven gekostet.
es ist auch nicht ganz einfach, einen sauberen roten faden hinzubekommen, wenn's alles von diesen event-handlern gesteuert wird. schliesslich kann der on-clicked-handler ja 10 verschiedene interfaces bedienen/beobachten. da wird's schon nicht ganz einfach, eine saubere struktur zu generieren.
dann wäre es vielleicht doch sinnvoll, mehrere scripts anzulegen.
naja, prinzipiell sind mir aber einige leuchten aufgegangen.

was ich gut gebrauch könnte, wäre z.b. eine liste aller möglichen handler für interfaces mit ihrer bedeutung. auch wenn sie eigentlich selbsterklärend sein sollten, so ist doch nicht immer klar, wie sie zur anwendung kommen sollten.
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 07.05.2006 - 11:21    Titel: Re: JAAAAAJAAAAAAJAAAAAAA! Antworten mit Zitat

iScript hat Folgendes geschrieben:
Ein CodeFormatter für XCode wäre nicht übel! habs jetzt in den Scripteditor kopiert + die zickenden zeilen auskommentiert.


Wenn ich einen Teil eines XCode Skripts posten will, setze ich es im Skripteditor in einen 'using terms from application "XCode"' - Block.
Dann zicken keine Zeilen.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 10.05.2006 - 21:23    Titel: Antworten mit Zitat

so, jetzt hab ich das script komplett fertig, funktioniert auf meiner maschine auch super + flott, aber wenn ich's auf 'ne andere maschine bringe, leider nicht.
es startet kurz an, und beendet ohne meldung, ohne irgendwas zu tun.
ich weiss, hier gab's schon ähnliche threads, aber die tipps haben leider nix genutzt. es läuft in beiden fällen der tiger - bei mir 10.4.6 auf der anderen maschine 10.4.4. - active build style steht auf deployment.
irgend jemand eine idee? Rotz und Wasser heulen
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 11.05.2006 - 15:09    Titel: Antworten mit Zitat

bekomms nicht auf anderen rechnern ans laufen
xcode 2.0
auch der tipp hat mir nicht geholfen:
http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1635&highlight=build -> kann kein "release" finden.
hab nur das "deployment" in set active build-style
muss vielleicht auch noch deployment post processing in der projectinfo unter deployment angewählt werden???

ich brauch unbedingt mal einen tipp!!!
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 18.05.2006 - 10:22    Titel: Antworten mit Zitat

habs rausgefunden:
in "project info > general > Cross-Develop Using Target SDK" stand "Current Mac OS" (sowas dummes!)
da ich die anderen SDKs für 10.4 und 10.3.9 nicht mitinstalliert hatte, konnte ich dort auch nix anderes auswählen.

läuft jetzt auch auf den anderen maschinen, nachdem ich auf 10.3.9 umgestellt habe.
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum Alle Zeiten sind GMT + 2 Stunden
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter