Einzelnen Beitrag anzeigen

Der_Ventilator

Registriert seit: 11. Apr 2004
Ort: Kanada
136 Beiträge
 
Delphi 2010 Professional
 
#1

Aufruf von Funktion mit Parametern aus PChar: Missverstehe leider Speichermanagement

  Alt 26. Aug 2010, 19:30
Delphi-Version: 2010
Hallo.

Ich möchte folgende Funktion benutzen:


Delphi-Quellcode:
function TBASSPlayer.GetLyrics(Artist, Title : string; CheckTitleMatch : boolean;
                var pLyrics : pchar; var lLyrics : integer) : boolean;
Nun habe ich gelesen (http://www.michael-puff.de/Artikel/StringDLL.shtml) wie man das mit DLLs und PChar Zeigern macht und versucht umzusetzen:

Delphi-Quellcode:

var plyrics : pchar;
    ilyrics : integer;

begin

//Hole mir ilyrics um Länge des Strings festzustellen
 spieler.BassPlayer1.GetLyrics(id3info.Artist,id3info.Titel,false,nil,Ilyrics);

//Reserviere den Speicher
 GetMem(plyrics,ilyrics+1);

//Hole mir die Lyrics
 spieler.BassPlayer1.GetLyrics(id3info.Artist,id3info.Titel,false,plyrics,ilyrics);


 showmessage(string(plyrics));
Leider bricht schon bei der ersten Zeile der Compiler ab.
Zitat:
[DCC Fehler] ump3.pas(4573): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
Wie geht das mit den PChar-Zeigern?
Artist und Titel sind natürlich strings.
Ist nil kein Pchar kompatibler "Datentyp"?

Ist bestimmt einfach, verstehe es leider noch nicht. Danke.
Codito, ergo sum. - I code therefore I am

Geändert von mkinzler (26. Aug 2010 um 19:41 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat