hi,
aus dem String des Parameter muss ja ein Codeblock gebildet werden damit die Function ausgeführt wird.
das ganze muss ja per EVAL() passieren ... und da gab es doch einen "Trick" unter Cl*pper um ein FOR bzw. WHILE zu "simulieren" ...
es geht darum ein Progressbar anzuzeigen "während" er beim Aufbau der Form ist.
unter Cl*pper ging das so (aus dem Kopf)
ähnliches ging auch bei COPY oder APPEND FROM mit einem Codeblock der ausgeführt wurde "während" eine Aktion läuft.
klar geschehen beide Schritte nicht "gleichzeitig" und es läuft auch kein zusätzlicher Thread (kennt Cl*pper nicht)
da das ganze mit Cl*pper zu tun hat sind die "Variablen" dann PUBLIC sodas Änderrungen in TBUMBS() auch in pBarForm() "sichtbar" werden und "wirken".
Code: Alles auswählen
FUNCTION pBarForm( cFormRun )
@ 0, 0 PROGRESSBAR ProgressBar_1 RANGE 0, 100 WIDTH nWide HEIGHT nSbHight
PROCEDURE THUMBS( cPath )
...
FOR xx := 1 TO xMax
...
SetProperty( "pbar", "ProgressBar_1", "Value", CalcPos( nCount, nMax ) )
NEXT
SetProperty( "pbar", "ProgressBar_1", "Value", 0 )
es ist also Cl*pper Technique nur eben mit OOP
wie bekommt man das mit Xbase++ hin ... das muss doch auch gehen ...
![Idea :idea:](./images/smilies/idea.gif)