![]() |
Abstrakter Fehler ;-)
Hallo
Ich habe folgenden code in einer DLL
Delphi-Quellcode:
wenn ich nun diese Funktion so aufrufe
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;
Delphi-Quellcode:
Kommt die Meldung: Abstrakter Fehler
procedure TForm2.Listboxm1DblClick(Sender: TObject);
var i:integer; begin i := listboxm1.ItemIndex; showmessage(ID3(listboxm2.Items.Strings[i],1)); end; Wenn ich den String ohne Stringlist übergebe gibts keine probleme |
Re: Abstrakter Fehler ;-)
Mann sollte Compiler-Warnungen/Fehler nicht ignorieren:
Delphi-Quellcode:
sl := tstrings.Create;
-> sl := tstringlist.Create; |
Re: Abstrakter Fehler ;-)
TStrings ist eine abstrakte Klasse, deren Methoden von den abgeleiteten Klassen erst implementiert werden müssen.
|
Re: Abstrakter Fehler ;-)
Hmmm es kommt zwar kein fehler mehr jedoch wird auch nix übertragen
|
Re: Abstrakter Fehler ;-)
Wie hast denn du ID3 in der exe deklariert?
|
Re: Abstrakter Fehler ;-)
Delphi-Quellcode:
function ID3(Filename:string;cnt:integer):string;stdcall;
external 'dll.dll'; augerufen wird sie so
Delphi-Quellcode:
showmessage(ID3(listboxm2.Items.Strings[i],0));
|
Re: Abstrakter Fehler ;-)
|
Re: Abstrakter Fehler ;-)
Und benutzt du die Unit sharemem? (Wobei ich mir nicht sicher bin, ob das die Ursache ist)
Edit: Zitat:
|
Re: Abstrakter Fehler ;-)
Nein benutze ich nicht
|
Re: Abstrakter Fehler ;-)
Zitat:
Für den Fortgeschrittenen Kurs empfehle ich dann Luckies Link zu Luckies Tutorial. :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz