Einzelnen Beitrag anzeigen

Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#9

Re: ein Interface für ein 2D-Skalarfeld beliebiger Größe ?

  Alt 18. Dez 2006, 10:27
Wenn die neuen Werte nur für neue Instanzen gelten sollen, kannst Du Dir mit globalen Variablen im Implementations-Teil behelfen.
Je eine für Spalten und Zeilen. Dann machst Du an die Klasse eine Klassenmethode (class procedure DimArray(_iCols,_iRows: Integer), die diese beiden Variablen setzt. Im Constructor der Klasse dimensionierst Du dann das Array entsprechend den Variablen.
Dabei musst Du allerdings darauf achten, dass die Variablen initialisiert werden, und zwar im Initalization-Abschnit. Der ist Standardmäßig noch nicht da, kann aber direkt vor dem 'End.' eingefügt werden. hier weist Du den beiden Variablen Standardwerte zu.
!!Wichtig!!
Dabei müssen alle Zugriffe auf diese Variablen threadsicher gemacht werden. Dies geht mit einer TCriticalSection, die Du auch als globale Variable im Implementations-Teil anlegen, im Initialization erstellen und im Finalization wieder freigeben musst. Näheres siehe OH zu TCriticalSection
!!Wichtig!!
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat