wie wäre es wenn du für deine klasse eine property machst die public ist. im moment hast du eine procedure und eine funktion die die feldvarible ändern.
das geht auch als read und write von einer property. wenn du nicht weisst wovon ich rede findest du eine sehr gute erklärung mit beispiel im
Crashkurs Delphi.
ansonsten der constructor sollte create sein. der destructor ist destroy nicht free. free ruft destroy auf.
hast du in deinem programm auch alles ordentlich createt und gefreet?
ansonsten um zu wissen wo der fehler liegt: mach vier buttons und ruf in den entsprechenden onclicks eine der methoden auf. also im ersten create dann das setzen dann das auslesen und am ende free welches dann destroy aufruft. wenn die exception schon beim button mit create kommt initialisierst du was nicht richtig, kommt die bei den anderen methoden ist die feldvariable nicht richtig initialisiert und kommts bei free dann zerstörst du nicht richtig.
wenn es wirklich erst bei der set methode kommt dann haste was nicht richtig initialisiert. ich denk mal entweder liegts daran dass du init nicht create genommen hast. oder lass mal das zuweisen des wertes im constructor weg und setzt den wert als standartwert am anfang auf 0 oder so. dann weisst du mit der setmethode den wert zu...
wenn ich zeit hab teste ich mal deinen code und versuch es auszubessern aber geht grad nicht.... vielleicht findest du den fehler ja selbst...
"Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")