Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Passing cursor in private DS form to another form
Message
De
16/12/1998 02:46:47
 
 
À
15/12/1998 05:22:10
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Divers
Thread ID:
00166961
Message ID:
00167930
Vues:
19
>>>>I need to pass a cursor that resides in a form with data session set to private to another form. I know it kind of defeats the whole purpose of having a DS that's private and wanting to do this but I have the need nonetheless. I know I can't pass a whole cursor as a parameter (w/o using ADO?) but is there another way?
>>>
>>>Sure - pass the data session ID and alias as parameters, and do something like:
>>>
>>>LPARAMETERS nDataSessionID, cAlias
>>>* Note - no error checking. I'd add it.
>>>LOCAL nMyDataSessionAtStart
>>>nMyDataSessionAtStart = SET('DATASESSION')
>>>SET DATASESSION TO nDataSessionID
>>>LOCAL cDBFReference
>>>cDBFReference = DBF(cAlias)
>>>SET DATASESSION TO nMyDataSessionAtStart
>>>USE (cDBFReference) AGAIN SHARED IN 0 ALIAS WhatEver
>>Wouldn't this cause problems if we have some data bound controls ???
>
>Not unless one of the sessions needed exclusive use of the cursor; you can open a table or cursor several times without difficulties. The record pointers move independently of each other, so it won't cause a form with another 'use' of the cursor to shft records unexpectedly. This is no different than having two datasessions open the same table...


I don't mean having problems with the cursor that is passed. When we have some data bound controls on a form on different sources maybe, then when the form changes datasession it seems the controls loose their data source which "reside" in the old data session ... Have you test your solution with data bound controls?. If I am wrong it is really very usefull !

Thanks
Dimitris
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform