Error: Wrong number of parameters bei MagickGetAttributs

Für Installationen unter Linux-Systemen
Antworten
niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Error: Wrong number of parameters bei MagickGetAttributs

Beitrag von niederrheiner »

Hallo an Alle,
nachdem nun PascalMagick zumindest mit den Demoprogrammen läuft, wollte ich PascalMagick auch in meinem eigenen Programm einsetzen.
Im wesentlichen sieht es wie folgt aus:

Code: Alles auswählen

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls, ExtCtrls, ComCtrls, Process, Unix, magick_wand; 
...
procedure TForm1.transfer(q,z,e, en :String);
var       
 ...
  exifdate      :PChar;
 wand          :PMagickWand; 
 ...
  begin
  MagickWandGenesis;
   wand := NewMagickWand;
   try
     MagickReadImage(wand, 'PICT3500.JPG');
    exifdate := MagickGetImageAttribute(wand,'exif:DateTime');
    showmessage('DateTime    : ' + exifdate);
    //showmessage('YResolution : ' + String(MagickGetImageAttribute(wand,'exif:YResolution')));
   finally
    wand := DestroyMagickWand(wand);
    MagickWandTerminus;
  end;
  end;   
 
...


dabei tritt der Fehler auf:

Code: Alles auswählen

fotobatch_pas.pas(245,17) Error: Wrong number of parameters specified for call to "MagickGetImageAttribute"


Den Code-Schnippsel habe ich aus dem Internet.

Überall wo MagicGetImageAttribute benutzt wird sind dort auch nur zwei Parameter.
Ich sehe keinen Fehler.

Habt Ihr Tipps oder Hinweise?

Bis dann ...
MfG
Günter

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Error: Wrong number of parameters bei MagickGetAttributs

Beitrag von Bora4d »

Bei so eine Fehlermeldung klickst du auf Fehlermeldung.
Dann wird auf die Zeile mit Fehlermeldung gesprungen. (Wenn nicht dann muß man selber im Quelltext finden).
Dann haltet man [STRG] Taste und klickt mit der linken Maustaste auf die Funktion.
Lazarus zeigt die die Funktionsdefinition.
Dann siehst du dort:

Code: Alles auswählen

function MagickGetImageAttribute(wand: PMagickWand): PChar; cdecl; external WandExport;

Also mit ein Parameter.

Wenn du in google suchst dann wirst du viele Meldungen finden dass diese Funktion geändert wurde.

Hinweis:
Vielleicht ist die Funktion tatsächlich mit 2 Parameter in dll vorhanden nur jemand hat vergessen das in Pascal zu definieren. Dann mußt du selber definieren etwa so: (Anschienend ist die mit 2. Variablen neu, deshalb versuchmal das und kontrolliere ob funktioniert)

Code: Alles auswählen

function MagickGetImageAttribute(wand: PMagickWand; name: PChar): PChar; cdecl; external WandExport;

Antworten