Hi Steve.
>CODE IN TRACE WINDOW
>* Validate all the fields for the table.
>if 'F' $ This.cObjectTypesHandled
> for lnI = 1 to fcount(lcAlias)
> lcField = field(lnI, lcAlias) &&**** Error occurs on this line*****
> .EnsureOneObject(lcParent + '.' + lcField, 'Field', ;
> lcDBC)
> .ValidateField(lcParent, lcAlias, lcField, llFree)
> next lnI
>endif 'F' $ This.cObjectTypesHandled
>
>
>MEMORY
>lnI - always has the value 2
This one is a mystery. I could see if somehow the table got closed before this routine was called, but since lnI is 2, that means it made it through the loop once, so the table must've been closed inside the loop. However, neither EnsureOneObject nor ValidateField close anything. I suggest putting a SET STEP ON just before the FOR statement, then trace and see where the table is getting closed. Let me know what you find.
Doug
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement