Seite 1 von 1

CallFunction

Verfasst: 04.06.2006 09:34
von Leonhard
Kann man nicht, wenn man nicht ausreichend Parameter angegeben hat, einen Fehler ausgeben? Ich bekomme dann z.B. bei diesem Code einen 'Invalid memory access.':

Code: Alles auswählen

Procedure Proc()
	LibID=OpenLibrary(#PB_Any, "gdi32.dll")
	Output=CallFunction(LibID, "AboutDoc",0)
	If (LibID=0) Or (Output=0)
		ProcedureReturn #False
	Else
		ProcedureReturn #True
	EndIf
EndProcedure

Proc()

Re: CallFunction

Verfasst: 04.06.2006 09:36
von DarkDragon
Was soll bitteschön 'Wert' sein? Das ist ja keine gültige Library. Da musst du 'LibID' hinsetzen

Verfasst: 04.06.2006 09:40
von Leonhard
Hab ich geändert. Fehler immernoch da.

Verfasst: 04.06.2006 09:42
von DarkDragon
Dann nimmst du OnError um den InvalidMemoryAccess abzufangen oder TryCatch aus PBOSL.

[EDIT]
Außerdem: Was willst du damit bezwecken? Bringt doch nichts.

Verfasst: 04.06.2006 14:20
von mk-soft
die Funktion "AboutDoc" gibt es nicht. Mit CallFunction dürfen nur vorhandene Funktionen aufgerufen werden mit richtiger Anzahl von Parametern. Wenn man nicht sicher ist ob es die Funktion gibt, vorher prüfen mit GetFunction(...) und in der MSDN nachlesen.

FF :wink: