Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Extraño error (por lo menos para mi)

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Extraño error (por lo menos para mi) Responder citando

¡Buenaas!

La aplicación que estoy desarrollando iba bien hasta ayer. De repente, hoy me da el siguiente error al intentar ejecutarla (al compilar no da errores ni warnings):

[Linker Error] Unresolved external 'System::__linkproc__ __fastcall CheckAutoResult()' referenced from C:\ARCHIVOS DE PROGRAMA\BORLAND\CBUILDER6\LIB\RELEASE\VCLE.LIB|syssupp

¿Sabe alguien a que se refiere? ¿Dónde la he cagado? (porque seguro que he sido yo).
Gracias desde ya mismo.

Volver arriba
Mensaje    Asunto: Extraño error (por lo menos para mi) Responder citando

Una pista:
El error desaparece cuando comento este bloque de código (en el que intento migrar una base de datos a InterBase): (si veis errores a parte del que no me deja ejecutar es porque no he podido hacerle un seguimiento) (la instrucción INSERT ya se que está incompleta, poe ejemplo)


void __fastcall TfrmBases::mnuInterBaseClick(TObject *Sender)
{
TIBDatabase *Bds = new TIBDatabase(this);
TIBTable *NuevaTabla = new TIBTable(this);
TStringList *Tablas = new TStringList();
TADOQuery *qryAux = new TADOQuery(this);

Screen->Cursor = crHourGlass;
//crear la Bds.
Bds->DatabaseName = "a:\\b.gdb";//frmBases->Base.SubString(1, Base.Length() - 3) + "gdb";
Bds->Params->Add("USER 'sysdba' PASSWORD 'masterkey' PAGE_SIZE 2048");
Bds->SQLDialect = 3;
Bds->CreateDatabase();
//Coger los nombres de las tablas
frmBases->cnnConexion->GetTableNames(Tablas, false);
qryAux->Connection = frmBases->cnnConexion;
//preparar las definiciones
NuevaTabla->Active = false;
NuevaTabla->Database = Bds;
NuevaTabla->FieldDefs->Clear();
for (int i = 0; !Tablas->Strings[i].IsEmpty(); i++){
NuevaTabla->TableName = Tablas->Strings[i];
//realizar una consulta para coger los datos que haya en la tabla y las definiciones
//de los campos
qryAux->Close();
qryAux->SQL->Clear();
qryAux->SQL->Add("SELECT * FROM " + Tablas->Strings[i]);
qryAux->Open();
//Crear los campos
//NuevaTabla->FieldDefs = qryAux->FieldDefs; //Esta instrucción no la permite
for (int j = 0; i < qryAux->FieldCount; j++){
NuevaTabla->FieldDefs->AddFieldDef();
NuevaTabla->FieldDefs->Items[j]->Name = qryAux->FieldDefs->Items[j]->Name;
NuevaTabla->FieldDefs->Items[j]->DataType = qryAux->FieldDefs->Items[j]->DataType;
NuevaTabla->FieldDefs->Items[j]->Size = qryAux->FieldDefs->Items[j]->Size;
NuevaTabla->FieldDefs->Items[j]->Required = qryAux->FieldDefs->Items[j]->Required;
}
NuevaTabla->CreateTable();
//pasar los datos, si hay
if (!qryAux->Recordset->Eof){
qryAux->Recordset->MoveFirst();
while (!qryAux->Eof){
qryAux->SQL->Clear();
qryAux->SQL->Add("INSERT INTO " + NuevaTabla->TableName + " VALUES(" + + ")");
qryAux->ExecSQL();
qryAux->Recordset->MoveNext();
}
}
}
Screen->Cursor = crDefault;

}

Volver arriba
Mensaje    Asunto: Extraño error (por lo menos para mi) Responder citando

Mas pistas:

El error desaparece si comento solo este bloque de código:

//pasar los datos, si hay
// if (!qryAux->Recordset->Eof){
// qryAux->Recordset->MoveFirst();
// while (!qryAux->Recordset->Eof){
// qryAux->SQL->Clear();
// qryAux->SQL->Add("INSERT INTO " + NuevaTabla->TableName + " VALUES(" + ")");
// qryAux->ExecSQL();
// qryAux->Recordset->MoveNext();
// }
// }

Volver arriba
Mensaje    Asunto: Extraño error (por lo menos para mi) Responder citando

¡SOLUCIONADO! aunque no entiendo el por qué. El error me daba por hacer referencia a la propiedad EOF del recordset de la query. En lugar de eso, he de preguntar por el EOF de la propia query, no de su recordset, es decir:

qryAux->RecordSet->Eof //¡MAAAAL!

qryAux->Eof //¡BIEN!

Pues vale, pero ¿por qué?. Si alguien sabe aclararme el tema lo agradecería mucho.

Volver arriba
Mensaje    Asunto: Extraño error (por lo menos para mi) Responder citando

HOLA:

Coño peri te lo dices tu todo.
No se ,recorset es de TADOQuery yo personalmente no trabajo mediante TAdoss, pero supongo que tiene que ver con la propiedad de recorset (apunta a un conjunto de datos, supongo que para el no tiene principio ni final), ni idea.

By.

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.