Seite 1 von 1

Wo liegt der Syntaxfehler ?

Verfasst: 28.01.2012 01:41
von TheCube
Habe hier ein Codeschnipsel von 2008 (Ursprung aus Hroudtwolfs Cern-Blackhole-Grafikdemo)
das mir leider nur einen Syntaxfehler bei Declare und Procedure liefert.
Nach über einer Stunde herumprobiererei bin ich nun hier ... :freak:

Code: Alles auswählen

Structure tParticle
   lRadius  .l
   fAngle   .f
   lPartSize.l
 EndStructure
  
 Declare.l CreateBlackHole    ( Particles.tParticle () , lAmount.l )
 
 Procedure.l CreateBlackHole  ( Particles.tParticle () , lAmount.l )
   ProcedureReturn #Null
 EndProcedure
Bitte um einen Tipp, was sich in den neueren PB-Versionen wieder geändert hat, weil´s ging ja mal :bluescreen:

Re: Wo liegt der Syntaxfehler ?

Verfasst: 28.01.2012 01:47
von CSHW89
Seit dem Array, Listen und Maps an Prozeduren übergeben werden können, muss jeweils auch eines der Schlüsselwörter eingefügt werden:
Falls Particles ein Array ist, dann:

Code: Alles auswählen

Declare.l CreateBlackHole(Array Particles.tParticle (1) , lAmount.l )
... falls eine Liste, dann:

Code: Alles auswählen

Declare.l CreateBlackHole(List Particles.tParticle () , lAmount.l )
... falls eine Map, dann:

Code: Alles auswählen

Declare.l CreateBlackHole(Map Particles.tParticle () , lAmount.l )
lg Kevin

Re: Wo liegt der Syntaxfehler ?

Verfasst: 28.01.2012 02:20
von TheCube
:allright:
Es war eine Liste, denn NewList Particles.tParticle () kam später im Code.
Via Newlist hätte ich es wahrscheinlich auch in der Hilfe gefunden, bei Procedure-Hilfe stehts zwar auch,
aber etwas unauffällig (für mich /:-> )

Nunja, wieder alles supi und der "alte" Code rennt ....