Ma première dll son programme !

Résolu
cs_TouTSpeed Messages postés 72 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 30 août 2007 - 8 juin 2007 à 07:56
cs_TouTSpeed Messages postés 72 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 30 août 2007 - 8 juin 2007 à 10:54
Bonjour j'ai un léger soucis avec ma première dll et son programme . En fait tout fonctionne parfaitement sauf à la fermeture du programme ou j'obtiens l emessage suivant dans delphi : "EInvalidPointer" Opération de pointeur incorrect !   

Il semblerai que la dll ne soit pas libérer d'après ce que j'ai pu comprendre mais comment la libérer ?

voici les sources

DLL

library DLL1;

{ Remarque importante concernant la gestion de mémoire de DLL .... }

uses
  ShareMem,
  SysUtils,
  Classes;

{$R *.res}

function Somme(A,B: Integer): Integer; stdcall;
begin
  Result := A + B;
end;

exports
  Somme;

end.

Programme:

unit Unit1;

interface

uses
  ShareMem,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }

  end;

var
  Form1: TForm1;

implementation

const
  NomDLL = 'DLL1.dll';

  function Somme(A,B: Integer): Integer; stdcall; external NomDLL;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

ShowMessageFmt('%d + %d = %d', [5, 2, Somme(5, 2)]);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.

2 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
8 juin 2007 à 10:50
Salut,

Je n'ai pas Delphi ici (argl).

Tu n'as pas à décharger la dll toi même.

Si tu vire le sharemem, même erreur ? (Tu en as pas besoin car tu ne fais passer que des entiers).
3
cs_TouTSpeed Messages postés 72 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 30 août 2007
8 juin 2007 à 10:54
oui , merci j'ai trouvé.

j'ai passer les string en pchar et je n'ai plus l'erreur . j'ai enlevé sharemem aussi .

merci de ta réponse
3
Rejoignez-nous