[Wine] DAO 3.5 and OLEAUT32.DLL troubles...

psalvan paolo.salvan at gmail.com
Tue Jun 20 11:24:08 CDT 2006


Hi,

I'm a Delphi developer.

Using DAO 3.5 (the engine for MS Access 97 databases) and Wine 0.9.15
or 0.9.9 I've got a trouble:

when I launch a query that uses some expressions (ie: "SELECT
Format(...) FROM Customers") the query fails, lamenting that the
function doesn't exist...
(A note that can help: Dao uses VBAR332.DLL or Expsrv.dll module to
evaluate expressions)

The console log says:
----
fixme:ole:MSFT_ReadValue BSTR length = -1?
fixme:ole:MSFT_ReadValue BSTR length = -1?
----
Replacing the builtin OLEAUT32.DLL with the native DLL everything works
ok.

Is this a known bug or should I post it in the Bugzilla?

bye!

Paolo



This is an extract of the procedure that causes the problem:

procedure TForm1.Button1Click(Sender: TObject);
var
    daodbeng: DAODBEngine;
    daodb: DAODatabase;
    daors: DAORecordset;
begin
    try
        daodbeng:= OpDAO35.CreateEngine; // Crea il DBEngine, e passa
internamente la licenza
        daodb:=
daodbeng.OpenDatabase(ChangeFileExt(Application.ExeName, '.mdb'),
false, false, '');
        // This works under Windows, fails under Wine woth builtin
oleaut32.dll:
        daors:= daodb.OpenRecordset('SELECT Format(#1/1/2000#, "yyyy",
2) FROM TConfig', dbOpenDynaset, _, _);
        // This always works:
        //daors:= daodb.OpenRecordset('SELECT * FROM TConfig',
dbOpenDynaset, _, _);
        daors.Free;
        daodb.Free;
        daodbeng.Free;

        ShowMessage('Tutto ok');
    except
        on e: Exception do
            ShowMessage('Exception: ' + e.ClassName + '; Msg: ' +
e.Message);
    end;
end;



More information about the wine-users mailing list