RE:Lista de conexiones odbc disponibles
el siguiente código te puede ser util.
en el evento constructor de un ddlb_ puedes pegar el siguiente.
//objetivo : muestra todas las conexciones odbc en un ddlb
integer li_rc
integer li_count
integer li_index
string ls_profiles[]
this.reset()
li_rc = RegistryKeys ( "HKEY_CURRENT_USER\Software\Sybase\EA Studio\4.0\DatabaseProfiles\PowerBuilder", ls_profiles[] )
li_count = UpperBound ( ls_profiles[] )
FOR li_index = 1 TO li_count
this.AddItem ( ls_profiles[li_index] )
NEXT
adicionalmente te muestro este codigo. lo que hace es mostrar los datos del profile seleccionado del ddlb_. (datos como. DBMS. database, servername, logid, userid, logpassword, db password, dbparam)
en el evento selecctionchanged del ddlb_ .
string ls_profile, ls_key
ls_profile = this.text
ls_key = "HKEY_CURRENT_USER\Software\Sybase\EA Studio\4.0\DatabaseProfiles\PowerBuilder\"
RegistryGet ( ls_key + ls_profile, "DBMS", RegString!, sle_dbms.Text )
RegistryGet ( ls_key + ls_profile, "ServerName", RegString!, sle_servername.Text )
RegistryGet ( ls_key + ls_profile, "Database", RegString!, sle_database.Text )
RegistryGet ( ls_key + ls_profile, "UserId", RegString!, sle_userid.Text )
RegistryGet ( ls_key + ls_profile, "LogId", RegString!, sle_logid.Text )
RegistryGet ( ls_key + ls_profile, "DBParm", RegString!, sle_dbparm.Text )
//RegistryGet ( ls_key + ls_profile, "DatabasePassword", RegString!, sle_dbpassword.Text )
//RegistryGet ( ls_key + ls_profile, "LogPassword", RegString!, sle_logpassword.Text )