Board index » delphi » EAccess Violation Error after a DLL call

EAccess Violation Error after a DLL call

In this DLL call, if I dont use the ShowMessage, I have the error Access
Violation

WHY ??

Thanks for any help

Stephane DUPARAY

dupa...@dial.oleane.com

{ A
l'activation --------------------------------------------------------------}
procedure TFormEcranPrincipal.FormActivate(Sender: TObject);
var
   Handle : THandle;
   Initlogin : function:Integer;
   Resultat : Integer;
begin
Resultat := -1;
if PremiereActivation then
   begin                                              {A la premire
activation}
   Handle := LoadLibrary(ConstPathDLL_Login+'LOGIN.DLL');
   if Handle <> 0 then
      begin
      @InitLogin := GetProcAddress(Handle,'InitLogin');
      if @InitLogin <> nil then
         begin
         Resultat := InitLogin;
         ShowMessage('ok : Resultat='+IntToStr(Resultat));
//****************SHOWMESSAGE*******************
         end
      else
         begin
         ShowMessage('Fonction de librairie ''InitLogin'' non trouve');
         end;
      FreeLibrary(Handle);
      end
   else
      begin                                                    {DLL non
trouve}
      ShowMessage('La librairie LOGIN.DLL n''a pas t trouve');
      end;
   PremiereActivation := False;

   if Resultat = -1 then
      begin                                                  // Fin du
programme
      Close;
      end;
   end;
end;

 

Re:EAccess Violation Error after a DLL call


In article <85kedu$u9...@minus.oleane.net>,
   "Stphane DUPARAY" <dupa...@dial.oleane.com> wrote:
Quote
>In this DLL call, if I dont use the ShowMessage, I have the
error Access
>Violation

Would the API function SetErrorMode help?

Salutations,

REMOVE nospam. in my address

Please note our recent change of area code from
714 to 949 and the new name of our department

Quoc Thang NGUYEN
Laboratory of Cellular and
Molecular Neurobiology
Dept. of Neurobiology and Behavior
University of California, Irvine
Irvine, CA92717 USA
Ph: (949) 824-4730
Fx: (949) 824-3522

Re:EAccess Violation Error after a DLL call


Quote
"Stphane DUPARAY" <dupa...@dial.oleane.com> wrote in message

news:85kedu$u91$1@minus.oleane.net...
Quote
> In this DLL call, if I dont use the ShowMessage, I have the error Access
> Violation

> WHY ??

> Thanks for any help

> Stephane DUPARAY

> dupa...@dial.oleane.com

> { A

l'activation --------------------------------------------------------------}

Quote
> procedure TFormEcranPrincipal.FormActivate(Sender: TObject);
> var
>    Handle : THandle;
>    Initlogin : function:Integer;
>    Resultat : Integer;
> begin
> Resultat := -1;
> if PremiereActivation then
>    begin                                              {A la premire
> activation}
>    Handle := LoadLibrary(ConstPathDLL_Login+'LOGIN.DLL');
>    if Handle <> 0 then
>       begin
>       @InitLogin := GetProcAddress(Handle,'InitLogin');
>       if @InitLogin <> nil then
>          begin
>          Resultat := InitLogin;
>          ShowMessage('ok : Resultat='+IntToStr(Resultat));
> file://****************SHOWMESSAGE*******************
>          end
>       else
>          begin
>          ShowMessage('Fonction de librairie ''InitLogin'' non trouve');
>          end;
>       FreeLibrary(Handle);
>       end
>    else
>       begin                                                    {DLL non
> trouve}
>       ShowMessage('La librairie LOGIN.DLL n''a pas t trouve');
>       end;
>    PremiereActivation := False;

>    if Resultat = -1 then
>       begin                                                  // Fin du
> programme
>       Close;
>       end;
>    end;
> end;

Stephan:

    Possiblement que le DLL n'est pas prt quand tu l'appelle.  Remplacer le
line ShowMessage avec Application.ProcessMessages.  Peut-tre que ?a vas
permettre le systme de procsser les messages ncessaires pour finir
l'installation du DLL.

J'spre que ?a t'aide.

Other Threads