Jetzt verständlicher, oder bedarf es einer Beispieldatei?
Der Code scheint mir eindeutig und klar, trotzdem:
Wenn Du eine Beispieldatei hast, die sowohl das Funktionieren als auch das Nichtfunktionieren demonstriert, wäre das gut, denn ich will verstehen woran das Ganze liegt, im Moment verstehe ich es so wie ich es bereits geschrieben hatte und eigentlich reden wir hier über ganz simple Dinge so das es mich verunsichert hier möglicherweise meinerseits einem Mißverständnis zu erliegen und Falsches anzunehmen.
Mein Problem bleibt, denn wenn komma4 schreibt:
Hier wird eine SUB/FUNCTION gefunden,
storeasurl(url, dummy())
die eben nicht definiert ist.
stimmt das einfach nicht bzw. ich verstehe es sonst nicht.
Die Lösung von komma4 definiert ja eben gerade die Funktion nicht sondern übergibt nur einen brauchbaren Parameter, also kann es doch garnicht an fehlender Deklaration liegen wie behauptet wird.
Meine Meinung ist jedenfalls:
die Fehlermeldung ist irreführend, weil sie eine fehlende Funktiondeklaration bemängelt, aber eigentlich sagen müßte das ein Parameter nicht richtig übergeben wird bzw. inhaltlich fehlt und Letzteres ist bereits der gesamte Fehler.
Anscheinsbeleg:
obwohl der Unterschied zwischen:
und:
eben nicht darin besteht das die Funktion "storeAsURL" im zweiten code irgendwo definiert/deklariert wurde, sondern nur ein Parameter korrekt angegeben wurde, funktioniert es, ergo kann es an fehlender Definition/DEklaration nicht gelegen haben sondern einzig am Parameter.
Statt:
sollte genausogut:
funktionieren und mithin sollte es auch funktionieren, wenn dummy() irgendwo deklariert ist, Hauptsache die Deklarition ist zum Zeitpunkt der Verwendung noch gültig, was beispielsweise bei DEinem geposteten Code so ist.
Beispielsweise in der StarBasic-FAQ befindet sich ein entsprechender Code:
http://www.dannenhoefer.de/faqstarbasic ... hern..html
Code: Alles auswählen
Sub Speichern
dim dummy()
datei="c:\test2.sxw"
dateiurl=converttourl(datei)
odoc=thisComponent
odoc.storeasurl(dateiurl,dummy())
rem oder
rem odoc.storetourl(dateiurl,dummy())
End Sub
der inhaltlich so ist wie der Code von dem Du sagst das er bei Dir nicht funktioniert.
Gruß
Stephan