Ver Mensaje Individual
  #7  
Antiguo 31-05-2011
Quim Herrera Quim Herrera is online now
Miembro
 
Registrado: may 2004
Posts: 33
Reputación: 0
Quim Herrera Va por buen camino
Gracias Casimiro, les echaré una ojeada. De todos modos acabo de encontrar la solución:

http://qc.embarcadero.com/wc/qcmain.aspx?d=68103

Lo reexplico porque me ha dada algún problema:

Hay que modificar IBSQL.pas (C:\Archivos de programa\CodeGear\RAD Studio\6.0\source\Win32\IBX)
Cambiar:
Código Delphi [-]
function TIBXSQLVAR.GetCharsetSize: Integer;
begin
 case SQLVar.SQLSubtype of
    0, 1, 2, 10, 11, 12, 13, 14, 19, 21, 22, 39,
    45, 46, 47, 50, 51, 52, 53, 54, 55, 58 :  Result := 1;
    5, 6, 8, 44, 56, 57, 64 : Result := 2;
    3 : Result := 3;
    59 : Result := 4;
    else
      Result := 0;
  end;  
end;
por:

Código Delphi [-]
function TIBXSQLVAR.GetCharsetSize: Integer;
begin
  case SQLVar.SQLSubtype and $FF of 
    0, 1, 2, 10, 11, 12, 13, 14, 19, 21, 22, 39,
    45, 46, 47, 50, 51, 52, 53, 54, 55, 58 :  Result := 1;
    5, 6, 8, 44, 56, 57, 64 : Result := 2;
    3 : Result := 3;
    4, 59 : Result := 4; 
  else
   Result := 0;
 end;
end;

Guardar el siguiente código como ibxpress120.dpk: (C:\Archivos de programa\CodeGear\RAD Studio\6.0\source\Win32\IBX)


Código Delphi [-]
package ibxpress120;
  
  {$R *.res}
  {$ALIGN 8}
  {$ASSERTIONS ON}
  {$BOOLEVAL OFF}
  {$DEBUGINFO ON}
  {$EXTENDEDSYNTAX ON}
  {$IMPORTEDDATA ON}
  {$IOCHECKS ON}
  {$LOCALSYMBOLS ON}
  {$LONGSTRINGS ON}
  {$OPENSTRINGS ON}
  {$OPTIMIZATION ON}
  {$OVERFLOWCHECKS OFF}
  {$RANGECHECKS OFF}
  {$REFERENCEINFO OFF}
  {$SAFEDIVIDE OFF}
  {$STACKFRAMES OFF}
  {$TYPEDADDRESS OFF}
  {$VARSTRINGCHECKS ON}
  {$WRITEABLECONST OFF}
  {$MINENUMSIZE 1}
  {$IMAGEBASE $400000}
  {$IMPLICITBUILD ON}
  
  requires
    rtl,
    vcl,
    dbrtl;
  
  contains
    IB in 'IB.pas',
    IBBatchMove in 'IBBatchMove.pas',
    IBBlob in 'IBBlob.pas',
    IBConnectionBroker in 'IBConnectionBroker.pas',
    IBCustomDataSet in 'IBCustomDataSet.pas',
    IBDatabase in 'IBDatabase.pas',
    IBDatabaseInfo in 'IBDatabaseInfo.pas',
    IBDatabaseINI in 'IBDatabaseINI.pas',
    IBErrorCodes in 'IBErrorCodes.pas',
    IBEvents in 'IBEvents.pas',
    IBExternals in 'IBExternals.pas',
    IBExtract in 'IBExtract.pas',
    IBHeader in 'IBHeader.pas',
    IBInstall in 'IBInstall.pas',
    IBInstallHeader in 'IBInstallHeader.pas',
    IBIntf in 'IBIntf.pas',
    IBQuery in 'IBQuery.pas',
    IBScript in 'IBScript.pas',
    IBServices in 'IBServices.pas',
    IBSQL in 'IBSQL.pas',
    IBSQLMonitor in 'IBSQLMonitor.pas',
    IBStoredProc in 'IBStoredProc.pas',
    IBTable in 'IBTable.pas',
    IBUpdateSQL in 'IBUpdateSQL.pas',
    IBUtils in 'IBUtils.pas',
    IBVisualConst in 'IBVisualConst.pas',
    IBXConst in 'IBXConst.pas';
  end.

Desinstalar IBexpress ( Component -> Install Packages -> Remove)

Abrir ibxpress120.dpk: (C:\Archivos de programa\CodeGear\RAD Studio\6.0\source\Win32\IBX)

Compilar. Da un warning: hay que decirle que lo ignore porque si lo arregla luego da errores.

Instalar. También hay que ignorar el warning.

y ya funciona.

También funciona el método "bruto": copiar IBSQL.pas modificado en la carpeta del proyecto (pero hay que hacerlo en todos los proyectos).

Saludos,
Quim Herrera
Responder Con Cita