Skript Problem mit FF_CallScript

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.496
Standort
Düsseldorf
Trophäen
*!
#1
Ich kann zwar mit FF_CallScript ein anderes Skript aufrufen, aber wenn in dem aufgerufenem Skript über einen Dialog ein Bild erzeugt oder verändert wird, wird das Ergebnis nicht angezeigt.

Beispiel:
Skript mit Dialog, bei dem mit Start ein rotes Quadrat erzeugt und auf der Arbeitsfläche angezeigt wird:
Code:
'FFSubmenu=Test
'FFName=BildNeu

FF_AddDialog "Neues Bild",81,30
FF_AddControl "Neues Bild","Start","BUTTON",24,7,33,11

do
	Select Case FF_ShowDialog ("Neues Bild")
	Case "CANCEL"
		exit do
	Case "Start"
		FF_NewImage 500,500,255
		FF_Reload
		exit do
	End Select
loop

FF_CloseDialog ("Neues Bild")
Wird dieses Skript z.B. unter "NeuesBild.vbs" abgespeichert und gestartet, funktioniert es einwandfrei.
Wird das Skript aber wie folgt aufgerufen

Code:
FF_CallScript FF_GetFFPathEx(2) & "\" & "NeuesBild.vbs"
wird das Skript "NeuesBild.vbs" zwar gestartet, aber mit Betätigung von Start wird das rote Quadrat nicht angezeigt.

Kennt jemand das Phänomen? Wie kann das Problem gelöst werden?
Seltsam ist, dass z.B. Datenübertragungen nach Excel oder Word einwandfrei funktionieren, aber eben nicht Bildbearbeitungen, die in FixFoto wieder angezeigt werden sollen.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.496
Standort
Düsseldorf
Trophäen
*!
#2
AW: Problem mit FF_CallScript

Eine Lösung habe ich gefunden.
Nach der Bildbearbeitung übernimmt man das Ergebnis mit FF_SaveClipboard in die Zwischenablage und holt das Bild nach dem Skriptaufruf mit
Code:
FF_LoadClipboard
FF_Reload
wieder zurück.

Das scheint mir aber sehr umständlich zu sein und ich meine, das wäre in einer älteren FF-Version nicht notwendig gewesen ???
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#3
AW: Problem mit FF_CallScript

Hallo Harald,

geht denn vielleicht, wenn die Übergabe per FF_SaveImage("$$MEM:test",0) erfolgt, und dort auf die gleiche Weise wieder abgeholt wird?

VG
Walter
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#5
AW: Problem mit FF_CallScript

Schade! War ein Versuch wert.

VG
Walter
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.496
Standort
Düsseldorf
Trophäen
*!
#7
AW: Problem mit FF_CallScript

Ich glaube, das war doch schon immer so.
Aber FF_Reload im aufrufenden Script sollte eigentlich helfen.
Leider ist das nicht so. Wenn Du mal obiges Beispielskript abspeicherst und dann den darunter stehenden Aufruf um FF_Reload ergänzt, funktioniert es immer noch nicht.
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#9
AW: Problem mit FF_CallScript

Wenn es da was zu korrigieren gibt, dann würde ich mir auch die Übergabe per $$MEM: von einem Script zum anderen wünschen. Über eine Datei auf der Festplatte geht's ja auch, so wäre der Weg über $$MEM: mehr als logisch.

VG
Walter
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.625
#10
AW: Problem mit FF_CallScript

FF_CallScript erzeugt eine neue Instanz des Scriptsystems mit eigenem Stack etc daher gibt es keine Rückgabe über interne Mechanismen.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.496
Standort
Düsseldorf
Trophäen
*!
#11
AW: Problem mit FF_CallScript

FF_CallScript erzeugt einen neue Instanz des Scriptsystems mit eigenem Stack etc daher gibt es keine Rückgabe über interne Mechanismen.
Danke für die Info. Da werde ich mir wohl weiterhin mit dem Transfer über die Zwischenablage helfen müssen.
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
4.968
Standort
Anzing BY
#12
AW: Problem mit FF_CallScript

Na ja,

vielleicht kann man einen zusätzlichen ausschließlich benannten Zentralstack anlegen, der mit dem letzten geschlossenen Skript automatisch gelöscht oder zurückgesetzt wird.
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#13
AW: Problem mit FF_CallScript

Ebenfalls Danke!


Danke für die Info. Da werde ich mir wohl weiterhin mit dem Transfer über die Zwischenablage helfen müssen.

Vielleicht ist es ja vorteilhaft, den Code in das eigene Script zu integrieren - so würde ich es zunächst versuchen.

VG
Walter
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.496
Standort
Düsseldorf
Trophäen
*!
#14
AW: Problem mit FF_CallScript

Vielleicht ist es ja vorteilhaft, den Code in das eigene Script zu integrieren - so würde ich es zunächst versuchen.
Im Prinzip hast Du recht, aber allgemeingültige Skripte wie Profiler (zuletzt vorgestellt für Imageinfo nach Excel, Collage+ und Bildunterschrift) sind ohne FF_CallScript nicht möglich.
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#15
AW: Problem mit FF_CallScript

...und wenn man anstelle der Registry-Nutzung eine sequentielle .INI - Datei anlegt? Ich meine ja nur für den Fall, dass man das Clipboard für andere Zwecke freihalten möchte...

VG
Walter
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.496
Standort
Düsseldorf
Trophäen
*!
#16
AW: Problem mit FF_CallScript

...und wenn man anstelle der Registry-Nutzung eine sequentielle .INI - Datei anlegt? Ich meine ja nur für den Fall, dass man das Clipboard für andere Zwecke freihalten möchte...
Das Problem wäre das Gleiche. Ich gehe davon aus, dass existierende FF-Skripte mit einer Sicherung und Wiederherstellung der Einstellungen existieren (in meinem Fall dürften das an die 40 Stück sein, bei denen die Sicherung in der Registry erfolgt). Das Profilerskript soll nun ermöglichen, verschiedene Einstellungen eines Skripts in Profilen zu sichern und die Möglichkeit bieten, über die Profile mit den darin gespeicherten Einstellungen das dazugehörige Skript zu starten. Und das geht nur mit FF_CallScript.
Würde die Sicherung in einer INI-Datei erfolgen, müsste das Profilerskript zwar anders aussehen, aber letztendlich wäre wieder der Aufruf mit FF_CallSkript erforderlich mit der gleichen Problematik.
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#17
AW: Problem mit FF_CallScript

Danke für die Erläuterung. Ich muß mir das mal genauer ansehen.
VG
Walter
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.625
#18
AW: Problem mit FF_CallScript

Das veränderte Bild wird im aufrufenden Skript geladen, sofern der Rückgabewert != "CANCEL" ist und auf der Arbeitsfläche ein Bild geladen ist.
 

W.P.

Mitglied
Dabei seit
16.10.02
Beiträge
4.968
Standort
Anzing BY
#19
AW: Problem mit FF_CallScript

Hallo Harald,

wozu die FF_CallScript-Aufrufe? Ich habe FF_CallScript nur verwendet, wenn es gar nicht anders ging: Weil es unabhängige Apps(HTMLGenerator) waren, in denen FF-Routinen drin waren, oder vom Anwender änderbare Bausteine (Autokorrektur).

Unter VBScript gibt es noch die Möglichkeit von Execute um beliebigen Code auszuführen (Macht z. B. WPInfo für das Dekodieren von MakerNotes; auch Autokorrektur, weil es gelegentlich zu Timing-Problemen bei FF_CallScript kam). Fest verankerter Code kann mit ExecuteGlobal oder so ähnlich geladen werden.

Auch bietet FF die Möglichkeit, wenn ich mich richtig erinnere, Bibliotheken nachzuladen. Habe es nie genutzt, weil es nur mit uncodierten Skripten ging.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.496
Standort
Düsseldorf
Trophäen
*!
#20
AW: Problem mit FF_CallScript

  1. Wozu die FF_CallScript-Aufrufe? Ich habe FF_CallScript nur verwendet, wenn es gar nicht anders ging: Weil es unabhängige Apps(HTMLGenerator) waren, in denen FF-Routinen drin waren, oder vom Anwender änderbare Bausteine (Autokorrektur).
  2. Unter VBScript gibt es noch die Möglichkeit von Execute um beliebigen Code auszuführen (Macht z. B. WPInfo für das Dekodieren von MakerNotes; auch Autokorrektur, weil es gelegentlich zu Timing-Problemen bei FF_CallScript kam). Fest verankerter Code kann mit ExecuteGlobal oder so ähnlich geladen werden.
  3. Auch bietet FF die Möglichkeit, wenn ich mich richtig erinnere, Bibliotheken nachzuladen. Habe es nie genutzt, weil es nur mit uncodierten Skripten ging.
  1. Das habe ich bereits ausführlich erläutert.
  2. Execute funktioniert nicht unter FF.
    Mit WshShell.Run konnte ich kein FF-Skript aufrufen.
  3. Da kenne ich mich nicht aus.
 
Oben