[gelöst] Fehler bei Funktionsaufruf

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Fehler bei Funktionsaufruf

Re: [gelöst] Fehler bei Funktionsaufruf

von oktobaer » Di, 07.07.2009 00:07

... in meinem Fall gibt es dann aber wieder die Fehlermeldung wie ganz oben... :?

Re: [gelöst] Fehler bei Funktionsaufruf

von komma4 » Mo, 06.07.2009 23:44

call kann beim Aufruf einer Makro SUB Routine weggelassen werden...

(ich verwende es aber manchmal, um den Programmablauf deutlich zu machen)

[gelöst] Re: Fehler bei Funktionsaufruf

von oktobaer » Mo, 06.07.2009 23:21

... der Aufruf als FUNCTION gefällt mir besser, da das sperrige "call" wegfällt.

Aber der Zweck heiligt ja bekanntlich die Mittel!

Danke!!!

Re: Fehler bei Funktionsaufruf

von komma4 » Mo, 06.07.2009 23:15

Eine Funktion sollte ein Rückgabewert bereit stellen...

Code: Alles auswählen

Function test123
' mach' irgendwas 

test123 = "bla"
End Function
... um im verwendeten Code dann zugewiesen zu werden

myVar = test123()

Ich dachte zunächst, dass diese fehlende Zuweisung die Fehlermeldung auslöste ... kann es aber, wie geschrieben, nicht nachvollziehen.

Egal - Dein Problem ist ja gelöst.

Re: Fehler bei Funktionsaufruf

von oktobaer » Mo, 06.07.2009 22:58

...

als SUB geht es:
SUB BALKEN_Init(Titel$,maxwert%)

STAT_Anzeige= STAT_Dlg.getControl("Status")
STAT_Anzeige.model.progressvaluemax = maxwert%
STAT_Dlg.setTitle(Titel$)
STAT_Dlg.Visible=true

END SUB
Kann es sein, dass man einer FUNCTION keinen String übergeben darf?

Danke Winfried für die Idee!

Oktobaer

Re: Fehler bei Funktionsaufruf

von oktobaer » Mo, 06.07.2009 22:47

... Dein Einwand ist berechtigt, aber daran kann es nicht liegen, denn gibt eine SUB die das erledigt:
'im HAuptprogramm:
call MDB_init
BALKEN_Init("Test",100)

SUB MDB_init
' weiterer Code
STAT_Dlg= CreateUnoDialog(Dialoglibraries.Standard.Stat_Dlg)
'weiterer Code
END SUB

FUNCTION BALKEN_Init(Titel$,maxwert%)
STAT_Anzeige= STAT_Dlg.getControl("Status")
STAT_Anzeige.model.progressvaluemax = maxwert%
STAT_Dlg.setTitle(Titel$)
STAT_Dlg.Visible=true
END FUNCTION
zudem würde ich dann eine andere Fehlermeldung erwarten!

Wenn ich wieder, wie ursprünglich gehabt:
call MDB_init

maxwert%=100
Titel$="Test"
STAT_Anzeige= STAT_Dlg.getControl("Status")
STAT_Anzeige.model.progressvaluemax = maxwert%
STAT_Dlg.setTitle(Titel$)
STAT_Dlg.Visible=true
verwende, dann geht es ohne Probleme! Sehr komisch....

Danke für Tipps!
eBayer hat geschrieben:


Guten Abend,
woher kennt die Funktion "STAT_Dlg" ? ---> STAT_Dlg.getControl("Status")
Du mußt STAT_Dlg zunächst mit dem entsprechenden Dialog initialisieren!
Danach kannst Du auf Objecte in STAT_Dlg (in Deinem Dialog) zugreifen.
Gruß eBayer

Re: Fehler bei Funktionsaufruf

von komma4 » Mo, 06.07.2009 21:33

Ein unbekanntes Objekt würde eine entsprechende Fehlermeldung auslösen.

Mein Tipp war es wohl auch nicht - gerade nachgestellt: ich kann die Meldung nicht reproduzieren :o

Re: Fehler bei Funktionsaufruf

von eBayer » Mo, 06.07.2009 21:19

Guten Abend,
woher kennt die Funktion "STAT_Dlg" ? ---> STAT_Dlg.getControl("Status")
Du mußt STAT_Dlg zunächst mit dem entsprechenden Dialog initialisieren!
Danach kannst Du auf Objecte in STAT_Dlg (in Deinem Dialog) zugreifen.
Gruß eBayer

Re: Fehler bei Funktionsaufruf

von komma4 » Mo, 06.07.2009 20:48

Tausche mal FUNCTION gegen SUB aus...

Klappt es dann?

[gelöst] Fehler bei Funktionsaufruf

von oktobaer » Mo, 06.07.2009 20:33

Hallo Ihr?

Könnt Ihr mir bitte einen Tipp geben:

Code: Alles auswählen

FUNCTION BALKEN_Init(Titel$,maxwert%)

	STAT_Anzeige= STAT_Dlg.getControl("Status")
	STAT_Anzeige.model.progressvaluemax = maxwert%
	STAT_Dlg.setTitle(Titel$)
	STAT_Dlg.Visible=true

END FUNCTION
versuche ich mit

Code: Alles auswählen

a$="Test"
z%=100
	BALKEN_Init(a$,z%)
oder

Code: Alles auswählen

	BALKEN_Init("Test",100)
aufzurufen und bekomme immer Fehler:

Basic Syntaxfehler
Erwartet : =.

Warum?

Danke für Hinweise!


Oktobaer

Nach oben