[Delphi] Invalid Pointer Operation avec une string venant d'1 DLL.

Invalid Pointer Operation avec une string venant d'1 DLL. [Delphi] - Delphi/Pascal - Programmation

Marsh Posté le 12-10-2003 à 18:53:05    

J'ai une erreur "Invalid Pointer operation"... quelqu'un a une idée ?
 
Voilà ma DLL :

Code :
  1. library Project2;
  2. { Important note about DLL memory management: ShareMem must be the
  3.   first unit in your library's USES clause AND your project's (select
  4.   Project-View Source) USES clause if your DLL exports any procedures or
  5.   functions that pass strings as parameters or function results. This
  6.   applies to all strings passed to and from your DLL--even those that
  7.   are nested in records and classes. ShareMem is the interface unit to
  8.   the BORLNDMM.DLL shared memory manager, which must be deployed along
  9.   with your DLL. To avoid using BORLNDMM.DLL, pass string information
  10.   using PChar or ShortString parameters. }
  11. uses
  12.   SysUtils,
  13.   Classes,
  14.   CxCPU40;
  15. {$R *.res}
  16. Function getCPUname() : String; stdcall;
  17. begin
  18. Result := cxCPU.Processors[0].Name().AsString;
  19. end;
  20. Function getCPUSpeed() : String; stdcall;
  21. begin
  22. Result := IntToStr(cxcpu.Processors[0].Speed().RawSpeed.AsNumber) + ' Mhz';
  23. end;
  24. exports
  25.   getCPUName,
  26.   getCPUSpeed;
  27. begin
  28. end.


 
et comment je l'apelle a des fins de test :

Code :
  1. Function GetCPUSpeed () : String;stdcall; external 'Stat.dll' name 'getCPUSpeed';
  2. procedure TForm1.Button1Click(Sender: TObject);
  3. begin
  4. Edit1.Text := GetCPUSpeed();
  5. end;


 
A chaque fois j'ai une erreur "invalid pointer operation". Pourquoi ?

Reply

Marsh Posté le 12-10-2003 à 18:53:05   

Reply

Marsh Posté le 12-10-2003 à 18:55:07    

[:figti] relis le gros paté de commentaire que Delphi a mis dans ton projet et que tu as copié/collé dans ton post ci-dessus [:joce]
 
Quand ça marchera bien, tu pourras essayer ceci à la place du Sharemem de Borland :
http://www.codexterity.com/fastsharemem.htm
(pas besoin de DLL et plus performant)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 12-10-2003 à 18:58:59    

merde, j'ai pas lu le merdier effectivement :/
 
Merci pour le FastShareMem ! Ca va surement me virer mes bugs aléatoires cette histoire...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed