COFFEE-Tag & Filename

Matthias

Spasspatrouille
People-hi

Ich probier nun schon bald 5 Std daran rum... ...und kriege DIE Krise! So, help please!

Eigentlich sollte alles gar kein Problem sein (Wie so oft). Was ich gleich beschreibe, hat in einem Xpresso-COFFEE-Node mit einer "dateiname"-Typ Eingangsvariable auch vollumfänglich und selbstlos funktioniert. -> Kein Problem!
Nun war das was ich mit dem "cat.bmp" Bild vorhabe aber unendlich langsam in Xpresso. Also dachte ich: Kein Problem, mach ich's halt gleich direkt in einem COFFEE-Tag:

main(doc,op)
{
var fn = new( Filename );
fn->SetFullString( "E:\cat.bmp" );

// bitmap laden
var bm = new( BaseBitmap, 1, 1 );
bm->Load( fn );
}

Jo also wenn mir nun jemand (Mark:rolleyes: ) sagen könnte warum das nicht geht, und insbesondere, warum folgendes passiert:

-Klick ich im Editor auf Kompilieren, ist alles wunderbar -> "Keine Fehler!"
-Will ich's aber ausführen dann heissts da immer
"incompatible values... NIL / OBJECT"

Nun Englisch kann ich (hoffentlich) genug um das zu verstehen, nur, warum sollte das denn überhaupt dort geschrieben sein?

Hoffe jemand weiss da 'nen Ausweg...

Danke im Voraus
Matthias
 
Hi daltonmonaie!

Achtung, jetzt wird's ganz doof! :(
Script anbei zeigt Dir in der Konsole das Ergebnis von "var fn = new(Filename)": ich mag mich ja täuschen und ebenfalls etwas falsch machen, aber fn ist demnach NICHT von der Klasse "Filename" (nil)! :mad:
Wenn Du aber dagegen einfach "GeGetRootFilename();" nutzt, um eine Variable der Klasse "Filename" zu bekommen und diese anschließend "überschreibst", funktioniert's...
Code:
main(doc,op)
{
var fn_1 = new (Filename);
var fn_2 = GeGetRootFilename();
println("fn1_class: ", getclass(fn_1)); // dummerweise "nil"
println("fn2_class: ", getclass(fn_2)); // glücklicherweise "[Class-Filename]"

// set filename
fn_2->SetFullString("f:/test.jpg");
println("File: ",fn_2->GetFullString());

// load bitmap
var bm = new( BaseBitmap, 1, 1);
bm->Load(fn_2);
println("Size: ", bm->GetWidth()," x ",bm->GetHeight());
}
...also, irgendetwas läuft da beim "new(Filename)" doch schief, oder?! ;)
...aber so sollte es funktionieren :)

Liebe Grüße,
Mark.
 
Hey Mark:.....*nach Worten such* .....Danke!!

So klappts.
Bist du sicher, dass da "etwas schief läuft" oder könnte es auch an unsereiner liegen?
Könnte es sein, dass der "Fehler" dabei liegt, dass man ja nicht alles was COFFEE versteht in ein COFFEE-Tag schreiben darf, sondern diese Befehle einem COFFEE-Plugin vorbehalten sind?

Danke nochmals jedenfalls!

Liebe Grüsse
Matthias
 
Hi daltonmonaie!
daltonmonaie hat gesagt.:
Bist du sicher, dass da "etwas schief läuft" oder könnte es auch an unsereiner liegen?
Könnte es sein, dass der "Fehler" dabei liegt, dass man ja nicht alles was COFFEE versteht in ein COFFEE-Tag schreiben darf, sondern diese Befehle einem COFFEE-Plugin vorbehalten sind?
...natürlich hast Du recht! Und mein erster Gedanke war: "ui, darf/kann man evtl. mit Coffee-Tags - aus Sicherheitsgründen - keine externen Files behandeln?"
Aber a) dann sollte es doch so auch nicht gehen ;) und b) wäre es doch fein, wenn's einen Fehler beim Erzeugen der Klasse geben würde (statt einem "NIL") ;)

Ganz besonders ärgerlich: diese "Einschränkungen": Coffee-Node, Coffee-Tag versus Coffee-Plugins finde ich nirgends dokumentiert :( ...oder bin ich einfach nur blind ;)

Aber so lange wir es uns hinbiegen können, soll's Wurscht sein :)

Liebe Grüße,
Mark.
 
Zurück