Code: Alles auswählen
;-Top
; Kommentar : Interface mit Daten
; Author : mk-soft
; Erstellt am : 18.03.2006
; Geändert am :
;- Strukturen
Structure udtSelf
; Virtuelle Tabelle
VTable.l
; Daten
text1.s
EndStructure
;- Interfaces
Interface MyObject
DoGet.s()
DoPut(a.s)
EndInterface
; ---------------------------------------------------------
Procedure CreateMyObject()
Protected *v.udtSelf
*v = AllocateMemory(SizeOf(udtSelf))
*v\VTable = ?Procedures
ProcedureReturn *v
EndProcedure
; ---------------------------------------------------------
Procedure.s iGet(*Self.udtSelf)
ProcedureReturn *Self\Text1
EndProcedure
; ---------------------------------------------------------
Procedure iPut(*Self.udtSelf, Text.s)
*Self\Text1 = Text
EndProcedure
;- Test
obj1.MyObject = CreateMyObject()
obj2.MyObject = CreateMyObject()
obj1\DoPut("Hallo Welt")
obj2\DoPut("Alles Gute")
Debug "Obj2: " + Obj2\DoGet()
Debug "Obj1: " + Obj1\DoGet()
End
;- DataSection
DataSection
Procedures:
Data.l @iGet(), @iPut()
EndDataSection
