Hallo
Ich habe folgenden code in einer
DLL
Delphi-Quellcode:
function ID3(Filename:string;cnt:integer):string;stdcall;
var
stream:TFileStream;
sl:tstrings;
begin
ID3v2Tag := TID3v2Tag.Create;
stream := TFileStream.Create(filename, fmOpenRead or fmShareDenyWrite);
id3v2tag.ReadFromStream(stream);
if Not Id3v2Tag.exists then
stream.Seek(0, sobeginning)
else
stream.Seek(Id3v2Tag.size, soFromBeginning);
stream.Free;
sl := tstrings.Create;
sl.Add(Id3v2Tag.Artist);
sl.Add(Id3v2Tag.Title);
sl.Add(Id3v2Tag.id3Length);
sl.Add(Id3v2Tag.MediaType);
result := sl.Strings[cnt];
{
titel := id3v2tag.Title;
length := id3v2tag.id3Length;
mt := id3v2tag.Mediatype;
}
end;
wenn ich nun diese Funktion so aufrufe
Delphi-Quellcode:
procedure TForm2.Listboxm1DblClick(Sender: TObject);
var i:integer;
begin
i := listboxm1.ItemIndex;
showmessage(ID3(listboxm2.Items.Strings[i],1));
end;
Kommt die Meldung: Abstrakter Fehler
Wenn ich den String ohne Stringlist übergebe gibts keine probleme