Interface mit Daten (Beispiel für PB4)
Verfasst: 18.03.2006 22:19
Wollte mir ein eigendes Objekt mit Datenablage erzeugen. Das Beispiel bei PB4 mit DataSection war ein bischen mau. Habe ein wenig mit gespielt und folgendes kam zum Testen heraus.
FF 
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
