[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 622
  • Last Modified:

"Client ID not unique"

I have a form in DLL. I will get the "Client ID not unique process stoped" error the first time when I call the DLL. If the application heep running and keep call theis DLL I will not get this error.

It looks like the DLL did not unload properlly. Thanks for any help.

JL
0
jlislo
Asked:
jlislo
  • 2
  • 2
1 Solution
 
robert_marquardtCommented:
Please give more info.
It seems that you get assigned an ID from the DLL to keep track of concurrent programs calling the DLL.
Show some API calls to the DLL.
0
 
jlisloAuthor Commented:
This is what I did in DLL, and I got the error on the line say "Application.CreateForm(TfrmShow,frmShow) ;"

Thanks.

//----------------------------------------------
function MyFunction(...) : integer ;  stdcall;
var
  frmShow: TfrmShow;
  i : integer ;

begin
   Application.CreateForm(TfrmShow,frmShow) ;
   with frmShow do
   try
      // Pass throught data
      if ShowModal = mrOK
      then begin
          //
      end ;
      // Pass Result back
      Hide
   finally
      Free ;
   end ;
end;
0
 
robert_marquardtCommented:
1. Do not use CreateForm. Use Create.
   CreateForm is not for you.
2. Use ShareMem as first unit in program and DLL.

These are the first stumbling blocks for using forms in DLLs.
0
 
jlisloAuthor Commented:
You mean like this?

frmShow := TfrmShow.Create(nil) ;

0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now