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;