Пробую делать так:

    Database1: TDatabase;
    pFIBDatabase1: TpFIBDatabase;
    Query1: TQuery;
    pFIBDataSet1: TpFIBDataSet;
    ...
    function GetNativeDBHandle(DBHandle: hDBIDb; var NativeHandle:
TISC_DB_HANDLE): word;
    begin

      Result := 0;

      // Get the native handle to the database...

      Check(DbiGetProp(hDBIObj(DBHandle), dbNATIVEHNDL, @NativeHandle,

          sizeof(NativeHandle), Result));

    end;

    procedure LinkDB (Database1: TDatabase; pFIBDatabase1:
TpFIBDatabase);
    var
      db_handle: TISC_DB_HANDLE;
    begin
      pFIBDatabase1.Close;
      GetNativeDBHandle (Database1.Handle, db_handle);
      pFIBDatabase1.Handle := db_handle;
      pFIBDatabase1.Open;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Database1.Connected := true;
      LinkDB (Database1, pFIBDatabase1);
      pFIBDataSet1.Open;
      Query1.Open;
    end;

При Query1.Open приложение зависает намертво. Если убрать эту строчку
- нормально работает. То есть нельзя одновременно делать запросы в
BDE и FIBPlus. Как исправить ошибку?

Ответить