Buenas de nuevo a todos.
Al final he conseguido que delphi XE5 funcione al 100% con todos los componentes instalados.
He realizado las migraciones del antiguo código D6 ajustandolo al nuevo XE5.
Recientemente he pasado mi máquina Win XP 32 bits a W-7 64 bits.
El problema que tengo es que un proceso de importación de un archivo txt se reallizaba correctamente en el formato antiguo y ahora me lanza una excepción sin haber tocado nada del código en esta parte, no se si algun parámetro se debe ajustar a XE5, os pongo el código usado:
Código Delphi
[-]if RadioGroup1.ItemIndex = 1 then
begin
OpenDialog1.Filename:='';
OpenDialog1.InitialDir:='C:\Rebuts_1.0\Fitxers\Rebuts\Capçalera';
F_Confirmacio := TF_Confirmacio.Create(self);
F_Confirmacio.Label1.Caption := 'Importem arxiu capçalera';
try
if F_Confirmacio.ShowModal = mrok then
begin
with BorraTemp do
begin
Close;
UnPrepare;
Sql.Text := 'DELETE FROM RE0006TOTALTEMP';
Prepare;
Open;
end;
F_ModulDades.Rebut_Total_Temp.Close;
F_ModulDades.Rebut_Total_Temp.Open;
F_ModulDades.Rebut_Total_Temp.Append;
F_Importa.IBSQLImporta.SQL.Text := 'Insert into RE0006TOTALTEMP values(:ID_REBUT, :ID_USUARI, ATA, :TITOL, :C_POSTAL, :CODI_CLUB, :ARBITRES, :MATERIAL, :I1, :I2, :I3, :I4, :I5, :TI1, :TI2, :TI3, :TI4, :TI5, :TOTAL_REBUT, :IMPORT, :TEXTE, :SUSPENSIO, :KM_TOTALS, :ASPIRANT'+
', :HORA_CONST, :HORA_SORT,:NUM_CORREDORS,:ID_ARBITRE, :ID_METGE, IR_CURSA, :CATEGORIA, :ZONA, :KM_CURSA, :TRANSP, :GRAVAT, :PREU_FIX, :IMPORT_2, :FEINER, OS_SECTORS, :CAMPIONAT, :I10, :CODI_BARRES, :CREA_REBUT, :BICIXIPS, :TI6, :NUM_FIX'+
', :PAGAT, :EXTRES, :REPART, :PAGADOR)';
F := TIBInputDelimitedFile.Create;
try
F.ColDelimiter := ';';
if OpenDialog1.Execute then
begin
F.Filename := OpenDialog1.FileName;
end;
F_Importa.IBSQLImporta.BatchInput(F); finally
F.Free;
end;
F_ModulDades.Rebut_Total.Close;
F_ModulDades.Rebut_Total.Open;
F_ModulDades.Rebut_Total_Temp.Close;
F_ModulDades.Rebut_Total_Temp.Open;
F_ModulDades.Rebut_Total_Temp.First;
while not F_ModulDades.Rebut_Total_Temp.Eof do
begin
if F_ModulDades.Rebut_Total.Locate('ID_REBUT; ID_USUARI; DATA', VarArrayof([F_ModulDades.Rebut_Total_TempID_REBUT.Value, F_ModulDades.Rebut_Total_TempID_USUARI.Value, F_ModulDades.Rebut_Total_TempDATA.Value]), []) then
begin
F_ModulDades.Rebut_Total.Edit;
F_ModulDades.Rebut_TotalID_REBUT.Value := F_ModulDades.Rebut_Total_TempID_REBUT.Value;
F_ModulDades.Rebut_TotalID_USUARI.Value := F_ModulDades.Rebut_Total_TempID_USUARI.Value;
F_ModulDades.Rebut_TotalDATA.Value := F_ModulDades.Rebut_Total_TempDATA.Value;
F_ModulDades.Rebut_TotalTITOL.Value := F_ModulDades.Rebut_Total_TempTITOL.Value;
F_ModulDades.Rebut_TotalC_POSTAL.Value := F_ModulDades.Rebut_Total_TempC_POSTAL.Value;
F_ModulDades.Rebut_TotalCODI_CLUB.Value := F_ModulDades.Rebut_Total_TempCODI_CLUB.Value;
F_ModulDades.Rebut_TotalARBITRES.Value := F_ModulDades.Rebut_Total_TempARBITRES.Value;
F_ModulDades.Rebut_TotalMATERIAL.Value := F_ModulDades.Rebut_Total_TempMATERIAL.Value;
F_ModulDades.Rebut_TotalI1.Value := F_ModulDades.Rebut_Total_TempI1.Value;
F_ModulDades.Rebut_TotalI2.Value := F_ModulDades.Rebut_Total_TempI2.Value;
F_ModulDades.Rebut_TotalI3.Value := F_ModulDades.Rebut_Total_TempI3.Value;
F_ModulDades.Rebut_TotalI4.Value := F_ModulDades.Rebut_Total_TempI4.Value;
F_ModulDades.Rebut_TotalI5.Value := F_ModulDades.Rebut_Total_TempI5.Value;
F_ModulDades.Rebut_TotalTI1.Value := F_ModulDades.Rebut_Total_TempTI1.Value;
F_ModulDades.Rebut_TotalTI2.Value := F_ModulDades.Rebut_Total_TempTI2.Value;
F_ModulDades.Rebut_TotalTI3.Value := F_ModulDades.Rebut_Total_TempTI3.Value;
F_ModulDades.Rebut_TotalTI4.Value := F_ModulDades.Rebut_Total_TempTI4.Value;
F_ModulDades.Rebut_TotalTI5.Value := F_ModulDades.Rebut_Total_TempTI5.Value;
F_ModulDades.Rebut_TotalTOTAL_REBUT.Value := F_ModulDades.Rebut_Total_TempTOTAL_REBUT.Value;
F_ModulDades.Rebut_TotalIMPORT.Value := F_ModulDades.Rebut_Total_TempIMPORT.Value;
F_ModulDades.Rebut_TotalTEXTE.Value := F_ModulDades.Rebut_Total_TempTEXTE.Value;
F_ModulDades.Rebut_TotalSUSPENSIO.Value := F_ModulDades.Rebut_Total_TempSUSPENSIO.Value;
F_ModulDades.Rebut_TotalKM_TOTALS.Value := F_ModulDades.Rebut_Total_TempKM_TOTALS.Value;
F_ModulDades.Rebut_TotalASPIRANT.Value := F_ModulDades.Rebut_Total_TempASPIRANT.Value;
F_ModulDades.Rebut_TotalHORA_CONS.Value := F_ModulDades.Rebut_Total_TempHORA_CONS.Value;
F_ModulDades.Rebut_TotalHORA_SORT.Value := F_ModulDades.Rebut_Total_TempHORA_SORT.Value;
F_ModulDades.Rebut_TotalNUM_CORREDORS.Value := F_ModulDades.Rebut_Total_TempNUM_CORREDORS.Value;
F_ModulDades.Rebut_TotalID_ARBITRE.Value := F_ModulDades.Rebut_Total_TempID_ARBITRE.Value;
F_ModulDades.Rebut_TotalID_METGE.Value := F_ModulDades.Rebut_Total_TempID_METGE.Value;
F_ModulDades.Rebut_TotalDIR_CURSA.Value := F_ModulDades.Rebut_Total_TempDIR_CURSA.Value;
F_ModulDades.Rebut_TotalCATEGORIA.Value := F_ModulDades.Rebut_Total_TempCATEGORIA.Value;
F_ModulDades.Rebut_TotalZONA.Value := F_ModulDades.Rebut_Total_TempZONA.Value;
F_ModulDades.Rebut_TotalKM_CURSA.Value := F_ModulDades.Rebut_Total_TempKM_CURSA.Value;
F_ModulDades.Rebut_TotalTRANSP.Value := F_ModulDades.Rebut_Total_TempTRANSP.Value;
F_ModulDades.Rebut_TotalGRAVAT.Value := F_ModulDades.Rebut_Total_TempGRAVAT.Value;
F_ModulDades.Rebut_TotalPREU_FIX.Value := F_ModulDades.Rebut_Total_TempPREU_FIX.Value;
F_ModulDades.Rebut_TotalIMPORT_2.Value := F_ModulDades.Rebut_Total_TempIMPORT_2.Value;
F_ModulDades.Rebut_TotalFEINER.Value := F_ModulDades.Rebut_Total_TempFEINER.Value;
F_ModulDades.Rebut_TotalDOS_SECTORS.Value := F_ModulDades.Rebut_Total_TempDOS_SECTORS.Value;
F_ModulDades.Rebut_TotalCAMPIONAT.Value := F_ModulDades.Rebut_Total_TempCAMPIONAT.Value;
F_ModulDades.Rebut_TotalI10.Value := F_ModulDades.Rebut_Total_TempI10.Value;
F_ModulDades.Rebut_TotalCODI_BARRES.Value := F_ModulDades.Rebut_Total_TempCODI_BARRES.Value;
F_ModulDades.Rebut_TotalCREA_REBUT.Value := F_ModulDades.Rebut_Total_TempCREA_REBUT.Value;
F_ModulDades.Rebut_TotalBICIXIPS.Value := F_ModulDades.Rebut_Total_TempBICIXIPS.Value;
F_ModulDades.Rebut_TotalTI6.Value := F_ModulDades.Rebut_Total_TempTI6.Value;
F_ModulDades.Rebut_TotalNUM_FIX.Value := F_ModulDades.Rebut_Total_TempNUM_FIX.Value;
F_ModulDades.Rebut_TotalPAGAT.Value := F_ModulDades.Rebut_Total_TempPAGAT.Value;
F_ModulDades.Rebut_TotalEXTRES.Value := F_ModulDades.Rebut_Total_TempEXTRES.Value;
F_ModulDades.Rebut_TotalREPART.Value := F_ModulDades.Rebut_Total_TempREPART.Value;
F_ModulDades.Rebut_TotalPAGADOR.Value := F_ModulDades.Rebut_Total_TempPAGADOR.Value;
F_ModulDades.Rebut_Total.Post;
F_ModulDades.Rebut_Total_Temp.Next;
end
else
begin
F_ModulDades.Rebut_Total.Last;
i := F_ModulDades.Rebut_TotalID.Value + 1;
F_ModulDades.Rebut_Total.Append;
F_ModulDades.Rebut_TotalID.Value := i;
F_ModulDades.Rebut_TotalID_REBUT.Value := F_ModulDades.Rebut_Total_TempID_REBUT.Value;
F_ModulDades.Rebut_TotalID_USUARI.Value := F_ModulDades.Rebut_Total_TempID_USUARI.Value;
F_ModulDades.Rebut_TotalDATA.Value := F_ModulDades.Rebut_Total_TempDATA.Value;
F_ModulDades.Rebut_TotalTITOL.Value := F_ModulDades.Rebut_Total_TempTITOL.Value;
F_ModulDades.Rebut_TotalC_POSTAL.Value := F_ModulDades.Rebut_Total_TempC_POSTAL.Value;
F_ModulDades.Rebut_TotalCODI_CLUB.Value := F_ModulDades.Rebut_Total_TempCODI_CLUB.Value;
F_ModulDades.Rebut_TotalARBITRES.Value := F_ModulDades.Rebut_Total_TempARBITRES.Value;
F_ModulDades.Rebut_TotalMATERIAL.Value := F_ModulDades.Rebut_Total_TempMATERIAL.Value;
F_ModulDades.Rebut_TotalI1.Value := F_ModulDades.Rebut_Total_TempI1.Value;
F_ModulDades.Rebut_TotalI2.Value := F_ModulDades.Rebut_Total_TempI2.Value;
F_ModulDades.Rebut_TotalI3.Value := F_ModulDades.Rebut_Total_TempI3.Value;
F_ModulDades.Rebut_TotalI4.Value := F_ModulDades.Rebut_Total_TempI4.Value;
F_ModulDades.Rebut_TotalI5.Value := F_ModulDades.Rebut_Total_TempI5.Value;
F_ModulDades.Rebut_TotalTI1.Value := F_ModulDades.Rebut_Total_TempTI1.Value;
F_ModulDades.Rebut_TotalTI2.Value := F_ModulDades.Rebut_Total_TempTI2.Value;
F_ModulDades.Rebut_TotalTI3.Value := F_ModulDades.Rebut_Total_TempTI3.Value;
F_ModulDades.Rebut_TotalTI4.Value := F_ModulDades.Rebut_Total_TempTI4.Value;
F_ModulDades.Rebut_TotalTI5.Value := F_ModulDades.Rebut_Total_TempTI5.Value;
F_ModulDades.Rebut_TotalTOTAL_REBUT.Value := F_ModulDades.Rebut_Total_TempTOTAL_REBUT.Value;
F_ModulDades.Rebut_TotalIMPORT.Value := F_ModulDades.Rebut_Total_TempIMPORT.Value;
F_ModulDades.Rebut_TotalTEXTE.Value := F_ModulDades.Rebut_Total_TempTEXTE.Value;
F_ModulDades.Rebut_TotalSUSPENSIO.Value := F_ModulDades.Rebut_Total_TempSUSPENSIO.Value;
F_ModulDades.Rebut_TotalKM_TOTALS.Value := F_ModulDades.Rebut_Total_TempKM_TOTALS.Value;
F_ModulDades.Rebut_TotalASPIRANT.Value := F_ModulDades.Rebut_Total_TempASPIRANT.Value;
F_ModulDades.Rebut_TotalHORA_CONS.Value := F_ModulDades.Rebut_Total_TempHORA_CONS.Value;
F_ModulDades.Rebut_TotalHORA_SORT.Value := F_ModulDades.Rebut_Total_TempHORA_SORT.Value;
F_ModulDades.Rebut_TotalNUM_CORREDORS.Value := F_ModulDades.Rebut_Total_TempNUM_CORREDORS.Value;
F_ModulDades.Rebut_TotalID_ARBITRE.Value := F_ModulDades.Rebut_Total_TempID_ARBITRE.Value;
F_ModulDades.Rebut_TotalID_METGE.Value := F_ModulDades.Rebut_Total_TempID_METGE.Value;
F_ModulDades.Rebut_TotalDIR_CURSA.Value := F_ModulDades.Rebut_Total_TempDIR_CURSA.Value;
F_ModulDades.Rebut_TotalCATEGORIA.Value := F_ModulDades.Rebut_Total_TempCATEGORIA.Value;
F_ModulDades.Rebut_TotalZONA.Value := F_ModulDades.Rebut_Total_TempZONA.Value;
F_ModulDades.Rebut_TotalKM_CURSA.Value := F_ModulDades.Rebut_Total_TempKM_CURSA.Value;
F_ModulDades.Rebut_TotalTRANSP.Value := F_ModulDades.Rebut_Total_TempTRANSP.Value;
F_ModulDades.Rebut_TotalGRAVAT.Value := F_ModulDades.Rebut_Total_TempGRAVAT.Value;
F_ModulDades.Rebut_TotalPREU_FIX.Value := F_ModulDades.Rebut_Total_TempPREU_FIX.Value;
F_ModulDades.Rebut_TotalIMPORT_2.Value := F_ModulDades.Rebut_Total_TempIMPORT_2.Value;
F_ModulDades.Rebut_TotalFEINER.Value := F_ModulDades.Rebut_Total_TempFEINER.Value;
F_ModulDades.Rebut_TotalDOS_SECTORS.Value := F_ModulDades.Rebut_Total_TempDOS_SECTORS.Value;
F_ModulDades.Rebut_TotalCAMPIONAT.Value := F_ModulDades.Rebut_Total_TempCAMPIONAT.Value;
F_ModulDades.Rebut_TotalI10.Value := F_ModulDades.Rebut_Total_TempI10.Value;
F_ModulDades.Rebut_TotalCODI_BARRES.Value := F_ModulDades.Rebut_Total_TempCODI_BARRES.Value;
F_ModulDades.Rebut_TotalCREA_REBUT.Value := F_ModulDades.Rebut_Total_TempCREA_REBUT.Value;
F_ModulDades.Rebut_TotalBICIXIPS.Value := F_ModulDades.Rebut_Total_TempBICIXIPS.Value;
F_ModulDades.Rebut_TotalTI6.Value := F_ModulDades.Rebut_Total_TempTI6.Value;
F_ModulDades.Rebut_TotalNUM_FIX.Value := F_ModulDades.Rebut_Total_TempNUM_FIX.Value;
F_ModulDades.Rebut_TotalPAGAT.Value := F_ModulDades.Rebut_Total_TempPAGAT.Value;
F_ModulDades.Rebut_TotalEXTRES.Value := F_ModulDades.Rebut_Total_TempEXTRES.Value;
F_ModulDades.Rebut_TotalREPART.Value := F_ModulDades.Rebut_Total_TempREPART.Value;
F_ModulDades.Rebut_TotalPAGADOR.Value := F_ModulDades.Rebut_Total_TempPAGADOR.Value;
F_ModulDades.Rebut_Total.Post;
F_ModulDades.Rebut_Total_Temp.Next;
end;
end;
Showmessage('Fitxer Importat');
end
else
begin
ShowMessage('Fitxer NO importat');
end;
finally
with BorraTemp do
begin
Close;
UnPrepare;
Sql.Text := 'DELETE FROM RE0006TOTALTEMP';
Prepare;
Open;
end;
F_Confirmacio.Free;
end;
y este es el mensaje de error que se produce:
First chance exception at $75CEC42D. Exception class EIBInterBaseError with message
'Dynamic SQL Error
SQL error code = -303
arithmetic exception, numeric overflow, or string truncation'.
Process Rebuts.exe (1932)
Si alguien tiene alguna idea del porque me puede pasar pues será muy bienvenida su respuesta.
Saludos
Josep