Page 1 sur 1

[résolu]Interface (exemple doc pb)

Publié : ven. 13/sept./2013 10:19
par blendman
salut

J'ai voulu regarder les interfaces, mais l'exemple proposé est incomplet dans la documentation.

Code : Tout sélectionner

Interface MonObjet  
  Create()
  MoveObj(x,y)  
  Destroy()
EndInterface

Structure PGC_Ob
  *Functions.MonObjet
  x.w
  y.w 
EndStructure


Procedure MoveObj(*this.PGC_Ob,xx,yy)
  *this\x = xx
  *this\y = yy
  Debug "move"
EndProcedure
Procedure Create(*this.PGC_Ob)  
  Debug "create"
EndProcedure
Procedure Destroy(*this.PGC_Ob)
  Debug "ben paf"
EndProcedure
Procedure Free(*this.PGC_Ob); destructeur
  FreeMemory(*this)
EndProcedure


Procedure CreationObjet(); constructeur
  *obj.PGC_Ob = AllocateMemory(SizeOf(PGC_Ob))
  *obj\Functions = ?Functions
  *obj\x = 0
  Debug "creation obj"
  ProcedureReturn *obj
EndProcedure


;
Objet1.MonObjet = CreationObjet()
Objet2.MonObjet = CreationObjet()


Objet1\MoveObj(10, 20)
Objet1\Destroy()

Objet2\Create()
Objet2\MoveObj(5, 2)
Objet2\Destroy()

DataSection
  Functions:
    Data.l @MoveObj(), @Destroy()
    Data.l @Create(), @Free() ;<-- on peut les placer sur plusieurs lignes
EndDataSection
Que dois-je faire dans ce code pour que ça fonctionne ? (je n'ai pas trouvé d'exemple simple sur les interfaces)

merci :)

[Edition] : bon, ben, j'ai trouvé, mais ce n'est pas forcément simple, même si c'est intéressant ^^.
J'ai édité le code