Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Mensaje de error BDE (https://www.clubdelphi.com/foros/showthread.php?t=30942)

Lakecountry 24-04-2006 16:12:49

Mensaje de error BDE
 
Hola,,, como estan?? tengo un problema con una aplicacion, al iniciarla me manda el sig. mensaje Attempting to initialize the borland database engine (Error $2A06). si alguien me puede ayudar se lo agradeceria mucho.

marcoszorrilla 24-04-2006 21:24:10

Pues lo que te está diciendo es que no puede iniciar el motor de base de datos de Borland BDE, quizás no está instalado el BDE en el equipo en que estás ejecutando la aplicación?

Un Saludo.

david duarte 22-06-2006 16:40:35

hola!!!

ya tengo rato en este foro, pero no consigo hacer que el bde funcione en la computadora.

Lo instale, lo desinstale y lo volvi a instalar y me sigue saliendo ese error.

Lo que yo quiero es saber el numero de usuarios conectados a la base de datos, uso la siguiente funcion:

Código Delphi [-]
function GetUsers():Integer;
var
  UserList: TStringlist;
  TmpCursor: hDbiCur;
  rslt: dbiResult;
  UsrDesc: USERDesc;
begin
  Result:=0;
  Check(DbiOpenUserList(TmpCursor)); ------>>> aqui me marca el error $21A6
  UserList := TStringList.Create;
  try
    UserList.Clear;
    repeat
      Rslt:= DbiGetNextRecord(TmpCursor, dbiNOLOCK, @UsrDesc, nil);
      if Rslt <> DBIERR_EOF then
        UserList.Add(UsrDesc.szUserName);
    until Rslt <> DBIERR_NONE;
    Result := UserList.Count;
  finally
    Check(DbiCloseCursor(TmpCursor));
    FreeAndNil(UserList);
  end;
end;

La verdad es que no se que hacer. Alguien tiene alguna idea???

Gracias!!!!

david duarte 22-06-2006 16:47:10

hola!!!

ya tengo rato en este foro, pero no consigo hacer que el bde funcione en la computadora.

Lo instale, lo desinstale y lo volvi a instalar y me sigue saliendo ese error.

Lo que yo quiero es saber el numero de usuarios conectados a la base de datos, uso la siguiente funcion:

Código Delphi [-]
function GetUsers():Integer;
var
  UserList: TStringlist;
  TmpCursor: hDbiCur;
  rslt: dbiResult;
  UsrDesc: USERDesc;
begin
  Result:=0;
  Check(DbiOpenUserList(TmpCursor)); ------>>> aqui me marca el error $21A6
  UserList := TStringList.Create;
  try
    UserList.Clear;
    repeat
      Rslt:= DbiGetNextRecord(TmpCursor, dbiNOLOCK, @UsrDesc, nil);
      if Rslt <> DBIERR_EOF then
        UserList.Add(UsrDesc.szUserName);
    until Rslt <> DBIERR_NONE;
    Result := UserList.Count;
  finally
    Check(DbiCloseCursor(TmpCursor));
    FreeAndNil(UserList);
  end;
end;

La verdad es que no se que hacer. Alguien tiene alguna idea???

Gracias!!!!

Lepe 22-06-2006 18:17:08

El TDatabase tiene que estar conectado y el Session tiene que estar abierto, después, y solo después, utiliza esa función.

Si lo piensas es lógico, tienes que estar conectado con el servidor, para poder saber los usuarios que hay en la red.

Saludos

david duarte 29-06-2006 16:02:31

Hola!!!

Gracias, la verdad es que ando perdido por el lado del BDE, voy a probar y les digo como me fue.

No habia contestado porque no estaba en el trabajo durante estos dias, pero ya estoy de vuelta.

Saludos
Muchisimas Gracias!!!

david duarte 29-06-2006 18:11:22

Hola!!!

Oigan una pregunta y no me he quitado esa duda

Tengo mi programa servidor y mi programa cliente; en el programa servidor tengo mis DataSetProviders y en mis clientes tengo el ClientDataSet, y ustedes hablan de que se tienen que tener unas tablas en el modulo de datos, pero yo no lo hago asi y no tengo la idea de como hacerlo.

Empiezo

En la primera forma que muestro(es donde el usuario ingresa el nombre del usuario y la contraseña) pongo un ttable y un tsession,le asigno las propiedades a la tabla y al tsession. Todo esto dentro del datamodule.Oncreate.

Esta bien hacer eso???

Espero haberme entendido, Muchisimas gracias.

Lepe 30-06-2006 10:23:27

Al poner un TTable en tu programa, Delphi añade un TDatabase de forma implicita, para aclarar las cosas, puedes añadir un TDatabase junto con el TSession y terminar de configurar las cosas.

No he trabajado con ClientsDataset, así que no puedo decirte nada.

¿Tienes 2 programas distintos? ¿el Cliente y el Servidor? yo solo he programado 1 programa en esos casos :confused:

Saludos

david duarte 07-07-2006 19:28:56

Hola!!!1
Lo siento, estaba ocupado en otras cosas y no tuve tiempo para conectarme y leer sus respuestas o ayudas.

Les comento que me salio bien, ahora ya puedo borrar los archivos lck en caso de que existan(claro viendo que no hay ningun usuario conectado)

Pero ahora tengo un problema, al parecer mi sistema se alento o hay veces que ni si quiera se ejecuta(no se porque sea).

Explico.

corro el ejecutable, y hay veces no se "ejecuta" y se queda suspendido para siempre(o hasta que tu lo termines), y cuando si se ejecuta, se tarda en arrancar y en un timer que tengo(lo tengo configurado para cada segundo), en la forma tengo un label y ahi es donde muestro cada segundo.
Cada que entra en el ciclo del timer, incremento el valor del tiempo, y lo asigno a una label, pero ahorita, no se actualiza cada segundo, se tarda como segundo y medio o dos segundos, y en ese lapso de tiempo, se queda como trabada y no responde.

Al ejecutarlo paso a paso, me he dado cuenta de que el delphi se pasma al llegar a la parte del datamodulo, les vuelvo a repetir que no tengo idea.

Yo creo que puede ser por la parte del datamodulo, pero no estoy seguro

Alguien le ha pasado esto o tiene una sugerencia???

Muchas gracias por su tiempo.
Y estamos en contacto.

Lepe 08-07-2006 00:17:44

Con esas premisas es dificil responder claramente.

Para esto lo mejor es armar un log, es decir, grabar en un archivo algo como:

Código:

Entrando en procedimiento tal y cual
Saliendo del procedimiento tal

De esa forma puedes averiguar, si unos eventos o procedimientos, estan llamando a otros con demasiada frecuencia, y optar por diseñar conceptualmente de otra forma esa tarea.

Ya que intuyes que puede venir por el Datamodule, empieza añadiendo trazas a esa parte del programa.

Saludos

david duarte 19-07-2006 17:29:48

ok, gracias, lo pruebo y les digo si me sirvio.

Gracias!!!!
Saludos!!!!


La franja horaria es GMT +2. Ahora son las 17:32:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi