J'ai une erreur "Invalid Pointer operation"... quelqu'un a une idée ?
Voilà ma DLL :
Code :
- library Project2;
- { Important note about DLL memory management: ShareMem must be the
- first unit in your library's USES clause AND your project's (select
- Project-View Source) USES clause if your DLL exports any procedures or
- functions that pass strings as parameters or function results. This
- applies to all strings passed to and from your DLL--even those that
- are nested in records and classes. ShareMem is the interface unit to
- the BORLNDMM.DLL shared memory manager, which must be deployed along
- with your DLL. To avoid using BORLNDMM.DLL, pass string information
- using PChar or ShortString parameters. }
- uses
- SysUtils,
- Classes,
- CxCPU40;
- {$R *.res}
- Function getCPUname() : String; stdcall;
- begin
- Result := cxCPU.Processors[0].Name().AsString;
- end;
- Function getCPUSpeed() : String; stdcall;
- begin
- Result := IntToStr(cxcpu.Processors[0].Speed().RawSpeed.AsNumber) + ' Mhz';
- end;
- exports
- getCPUName,
- getCPUSpeed;
- begin
- end.
|
et comment je l'apelle a des fins de test :
Code :
- Function GetCPUSpeed () : String;stdcall; external 'Stat.dll' name 'getCPUSpeed';
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- Edit1.Text := GetCPUSpeed();
- end;
|
A chaque fois j'ai une erreur "invalid pointer operation". Pourquoi ?