Ich hab mir jetzt den Code hier nicht ganz so genau angeschaut, aber bei der TMEPGAudio war es so, daß die ID3v1- und ID3v2- Klassen Properties der Hauptklasse waren. Und die beiden hatten jeweils eine Property "TagExists" oder so ähnlich. So konnte man recht schnell herausfinden, wo man schreiben/lesen mußte/sollte/konnte.
Aus Gründen der Abwärtskompatibiliät finde ich das absolut in Ordnung, dem Nutzer absolut freie Hand zu geben, welche Tags er lesen/schreiben will. Allerdings braucht es dann natürlich auch entsprechende Properties und Funktionen.
//Edit:
Ok, das is ja hier ähnlich. Wo is dann das Problem, Luckie?
Delphi-Quellcode:
if id3v1.Exists then
//Lesen aus id3v1-Tag
else
if id3v2.Exists then
//Lesen aus id3v2-Tag
else
//nix wird gelesen
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;