Error DBCMD Código de error: 2001 tratando de usar ADS
Publicado: Vie Jul 25, 2014 10:03 pm
Hola Equipo Xailer
Tengo un diccionario de datos ADS que conecto con el siguiente codigo
WITH OBJECT AppData:oADSdsMain := TAdsDataSource():New()
:cConnect := cRootDrive + cIpFija + cPortFijo + cDictionary
:cPassword := "*******"
:cUser := "******"
:lAbortOnErrors := .T.
:lAdsLocking := .T.
:lConnected := .F.
:lDisplayErrors := .T.
:lOptimize := .T.
:lRightsCheck := .T.
:lUseDictionary := .T.
:nCharType := acANSI
:nConnectionFlags:= 0
:nFileType := afADT
:nServerType := asREMOTE
:nTimeOut := 5
:Create()
END WITH
Hast aqui todo funciona bien despues creo una dataset para manejar una tabla del diccionario
WITH OBJECT AppData:oDbfUsuarios:= TDbfDataSet():Create( Self )
:cName := "USUARIOS.ADT"
:oDataSource := AppData:oADSdsMain
:lShared := .T.
:lDisplayErrors := .T.
:lNew := .T.
if !:Open()
::lEntrar:= .F.
return .F.
endif
END WITH
Para usar la tabla del dataset, hago lo siguiente
AppData:oDbfUsuarios:Open()
AppData:oDbfUsuarios:OrdSetFocus("USUARIO1")
AppData:oDbfUsuarios:DbGoTop()
DO WHILE ! AppData:oDbfUsuarios:EOF()
AAdd( ::oDBCbxUser:aItems, {AppData:oDbfUsuarios:NOMBRE} )
AAdd( ::oDBCbxUser:aItemsBound, {AppData:oDbfUsuarios:USUARIO} )
AppData:oDbfUsuarios:Skip()
ENDDO
Y aqui en este codigo obtengo el siguiente error,
Subsistema: DBCMD
Código de error: 2001
Estado: .F.
Descripción: Area de trabajo no usada
Operación: ORDSETFOCUS
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
ORDSETFOCUS (0)
TDBFDATASET:ORDSETFOCUS (1210)
TFORMACCESO:FORMINITIALIZE (44)
En que parte estoy haciendo mal las cosas en el uso de ADS..? alguien que me pueda ayudar ?
Saludos
Tengo un diccionario de datos ADS que conecto con el siguiente codigo
WITH OBJECT AppData:oADSdsMain := TAdsDataSource():New()
:cConnect := cRootDrive + cIpFija + cPortFijo + cDictionary
:cPassword := "*******"
:cUser := "******"
:lAbortOnErrors := .T.
:lAdsLocking := .T.
:lConnected := .F.
:lDisplayErrors := .T.
:lOptimize := .T.
:lRightsCheck := .T.
:lUseDictionary := .T.
:nCharType := acANSI
:nConnectionFlags:= 0
:nFileType := afADT
:nServerType := asREMOTE
:nTimeOut := 5
:Create()
END WITH
Hast aqui todo funciona bien despues creo una dataset para manejar una tabla del diccionario
WITH OBJECT AppData:oDbfUsuarios:= TDbfDataSet():Create( Self )
:cName := "USUARIOS.ADT"
:oDataSource := AppData:oADSdsMain
:lShared := .T.
:lDisplayErrors := .T.
:lNew := .T.
if !:Open()
::lEntrar:= .F.
return .F.
endif
END WITH
Para usar la tabla del dataset, hago lo siguiente
AppData:oDbfUsuarios:Open()
AppData:oDbfUsuarios:OrdSetFocus("USUARIO1")
AppData:oDbfUsuarios:DbGoTop()
DO WHILE ! AppData:oDbfUsuarios:EOF()
AAdd( ::oDBCbxUser:aItems, {AppData:oDbfUsuarios:NOMBRE} )
AAdd( ::oDBCbxUser:aItemsBound, {AppData:oDbfUsuarios:USUARIO} )
AppData:oDbfUsuarios:Skip()
ENDDO
Y aqui en este codigo obtengo el siguiente error,
Subsistema: DBCMD
Código de error: 2001
Estado: .F.
Descripción: Area de trabajo no usada
Operación: ORDSETFOCUS
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
ORDSETFOCUS (0)
TDBFDATASET:ORDSETFOCUS (1210)
TFORMACCESO:FORMINITIALIZE (44)
En que parte estoy haciendo mal las cosas en el uso de ADS..? alguien que me pueda ayudar ?
Saludos