AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Abstrakter Fehler ;-)

Ein Thema von hedie · begonnen am 10. Okt 2007 · letzter Beitrag vom 10. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2   
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:12
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
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.193 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:13
Mann sollte Compiler-Warnungen/Fehler nicht ignorieren:
Delphi-Quellcode:
sl := tstrings.Create;

->

sl := tstringlist.Create;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:20
TStrings ist eine abstrakte Klasse, deren Methoden von den abgeleiteten Klassen erst implementiert werden müssen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#4

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:23
Hmmm es kommt zwar kein fehler mehr jedoch wird auch nix übertragen
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:27
Wie hast denn du ID3 in der exe deklariert?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#6

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:54
Delphi-Quellcode:
function ID3(Filename:string;cnt:integer):string;stdcall;
external 'dll.dll';

augerufen wird sie so

showmessage(ID3(listboxm2.Items.Strings[i],0));
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:56
Rückgabe von Strings aus DLLs
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:56
Und benutzt du die Unit sharemem? (Wobei ich mir nicht sicher bin, ob das die Ursache ist)

Edit:
Zitat von Luckie:
Aber wenn man in Delphi bleibt, kann man erstmal shortstring nehmen, oder?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#9

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 11:57
Nein benutze ich nicht
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Abstrakter Fehler ;-)

  Alt 10. Okt 2007, 12:00
Zitat von hedie:
Nein benutze ich nicht
Dann ersetze mal in allen Parametern der Funktion ID3 "string" durch "shortstring" (In der Hoffnung, dass keiner länger als 255 Zeichen ist), in EXE und DLL.

Für den Fortgeschrittenen Kurs empfehle ich dann Luckies Link zu Luckies Tutorial.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz