DLLs and Databases
Original Reporter info from Mantis: skiy1337
-
Reporter name: Misha Strong
Original Reporter info from Mantis: skiy1337
- Reporter name: Misha Strong
Description:
Many people use database engines, but they are hard to deploy. I do not propose to solve that problem. Instead, I wish to make it easier for developer's to get the Lazarus IDE fully working.
But, you say: what has something like MySQL got to do with Lazarus? Well, when you set Connected to True on one of the DB components, you get an error dialog. THat's on a clean install of the Lazarus IDE under WinXP. This is understandable, but it can be improved.
Here's how: we need to modify the root class for all dynamic library bindings, or as close to it as we can get. In this, let's decide on TSQLConnection. When it's initial memory is allocated on a development computer, the existence of the client support file in question should be guaranteed.
The other side of the coin is course that we need to setup a server to mirror all these .DLL's, .SO's and .dynlib's. It's URL would of course be included in the exception message. Remember that end-user's of Lazarus-made programs will have no such URL, as an exception would only be raised in SetConnected (see attachment.)
Additional information:
{protected} function TSQLConnection.GetLibraryName_NoExtension: PChar; {virtual; abstract;}
//...
procedure TSQLConnection.Create;
begin
//...
try
Check_DLL_Exists;
except
If Pos('lazarus', lowercase(paramStr(0))) > 0 then raise
end;
//...
procedure TSQLConnection.Check_DLL_Exists;
begin
GetLibraryName_NoExtension
Mantis conversion info:
- Mantis ID: 20683
- Version: 0.9.30