da die bestimmte datenbanken via ADS-Internet geöffnet werden und dies das Programmstart erheblich verlangsamt, wollte ich die ADS-Datenbanken über einen Thread öffnen. Da habe ich nun folgendes Problem: Die Datenbank wird in der Funtion eröffnet, jedoch im Main kann ich diese nicht ansprechen. Wenn ich die Funtion tr_open() normal starte kann ich auf die Datenbank zugreifen.
Code: Alles auswählen
FUNCTION Main ( cParam1, cParam2 )
LOCAL oDBThread := Thread():new()
open_local() //Locale Datenbanken
oDBThread:start("tr_open" ) //via Internet
Return nil
Function tr_open()
LOCAL oSession
DbeSetDefault("ADSDBE")
cConnStr := "SERVER=\\testweb.dnsalias.com:3232\test\data\test.ADD;ADS_REMOTE_SERVER;ADS_COMPRESS_INTERNET;UID=test;PWD=test"
oSession := DacSession():New("DBE=ADSDBE;"+cConnStr)
DbeInfo( COMPONENT_DATA , ADSDBE_TBL_MODE, ADSDBE_CDX )
DbeInfo( COMPONENT_ORDER, ADSDBE_TBL_MODE, ADSDBE_CDX )
If (oSession:isConnected())
If !DbUseArea(.T.,oSession, "adress","wadress",.t.,.t.)
MsgBox("Status:"+Alias()+" kann nicht geöffnet werden")
EndIf
Set Index to Adress
trconnect:=.t.
Else
trconnect:=.f.
MsgBox("Status:"+Alias()+" kann nicht geöffnet werden")
EndIf
Return trconnect