Seite 1 von 1

Prototype und Listen

Verfasst: 11.02.2021 18:44
von 4Planes
Hallo,

ich versuche etwas umzusetzen, das in etwa diese Form hat:

Code: Alles auswählen

Prototype.i Proc( )
NewList Procs.Proc()

AddElement ( Procs.Proc() )
Procs.Proc() = @main()

ForEach Procs.Proc()
  
  Procs.Proc()
  
Next


Procedure main()
  
  MessageRequester ("", "works!" )
  
EndProcedure
Allerdings bekomme ich die Fehlermeldung:
Ein Prototype kann nicht mit einer Liste verwendet werden.
Jetzt ist meine Frage: Geht das grundsätzlich gar nicht oder habe ich es nur falsch angestellt?

Re: Prototype und Listen

Verfasst: 11.02.2021 18:59
von STARGÅTE
Du musst das in eine Struktur einbetten.
Problem wäre sonst nämlich, dass Procs() (mit Klammern) ja für das Element der Liste verwendet wird, der Funktionsaufruft wäre dann irgendwie Procs()() oder so, was aber nicht gültig ist.

Code: Alles auswählen

Procedure main()
 
  MessageRequester ("", "works!" )
 
EndProcedure


Prototype.i Proc( )

Structure Struc
	Proc.Proc
EndStructure

NewList Procs.Struc()

AddElement ( Procs() )
Procs()\Proc = @main()

ForEach Procs.Proc()
 
  Procs()\Proc()
 
Next

Re: Prototype und Listen

Verfasst: 11.02.2021 19:16
von 4Planes
Vielen Dank für die schnelle Antwort und die elegante Lösung und die Korrektur meines Codes!
Funktioniert prima! :allright:

Re: Prototype und Listen

Verfasst: 11.02.2021 19:46
von NicTheQuick
Du musst übrigens auch nicht überall ".Proc" oder ".Struc" dahinter schreiben. Das reicht einmal am Anfang bei der Deklarierung/Definition. Das erspart auch jede Menge Tipparbeit. :allright: