Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1381 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°537702
Tetedeienc​h
Head Of God
Posté le 12-10-2003 à 18:53:05  profilanswer
 

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 ?

mood
Publicité
Posté le 12-10-2003 à 18:53:05  profilanswer
 

n°537703
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-10-2003 à 18:55:07  profilanswer
 

[: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
n°537710
Tetedeienc​h
Head Of God
Posté le 12-10-2003 à 18:58:59  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

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

 

Sujets relatifs
[SQL] Opération sur des masques binairesprobleme avec delphi 7
[Dll] Y a t'il un moyen de connaitre les specifs des fcts d'1 DLL?Minimizer une appli delphi 6 en icone a cote de l'heure
[DELPHI] Cacher une fenetre MS-DOS ?[DELPHI 5] j'ai besoin d'un info sur le composant Tchart ...
[DELPHI] copier des fichiers.delphi Bdd Internet
[DELPHI] efffacer un répertoire[DELPHI 7] Installation d'un package ???
Plus de sujets relatifs à : [Delphi] Invalid Pointer Operation avec une string venant d'1 DLL.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR