Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread Error message with the file manager
Fri, Apr 23 2010 4:56 AMPermanent Link

Josselin

Hi,
This is a little example of what I do with ElevateDB. I have a main program and a dll.

Main I launch the program, the contents of my table is displayed

When I click on the button "open MyDll" I have an error message about the file manager.

Can you tell me what I am doing wrong ?

Thanks for your help

Bruno



Attachments: ELEVATE3.zip
Mon, Apr 26 2010 7:20 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Josselin,

<< This is a little example of what I do with ElevateDB. I have a main
program and a dll. Main I launch the program, the contents of my table is
displayed

When I click on the button "open MyDll" I have an error message about the
file manager. >>

I don't think you can use Application.ExeName with a DLL since it uses
ParamStr(0) internally to get the executable path.  What you want instead is
to use this code:

uses edbcomps;

ExePath:=ExtractFilePath(Engine.Handle.Environment.ModuleFileName);

to get the EXE path.

--
Tim Young
Elevate Software
www.elevatesoft.com
Tue, Apr 27 2010 3:12 AMPermanent Link

Josselin

I can use Application.ExeName to get the executable path, it's working and I always use it.

The problem is that I have an ElevateDB error message when I open the dll

This is the error message :
ElevateDB Error #600 File manager error (Cannot create file D:\SOURCES\SOURCE_D2009\DIVERS\ELEVATE3\TEMP\CORE2-D200926164136MY_DATABASE2.EDBTbl (OS Error: Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus.))
Tue, Apr 27 2010 4:22 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Josselin


Are you trying to open the table exclusively in both the main app and the dll?

Roy Lambert [Team Elevate]
Tue, Apr 27 2010 11:57 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Josselin,

<< I can use Application.ExeName to get the executable path, it's working
and I always use it. >>

Sorry, you didn't post the error message, so I guessed.

<< The problem is that I have an ElevateDB error message when I open the dll
>>

That's a temporary table creation error, and it's due to the fact that the
DLL is using a separate engine/session, but is still running in the same
process/thread on the same computer.  ElevateDB needs to use an additional
identifier to prevent conflicts.

I'll have to get a fix for this in the next build, but for now the solution
is to use a different temporary tables path for the DLL:

http://www.elevatesoft.com/manual?action=viewprop&id=edb2&product=d&version=7&comp=TEDBEngine&prop=TempTablesPath

and that will prevent the conflict for now.

--
Tim Young
Elevate Software
www.elevatesoft.com
Image