ich habe ein Problem, das in meinem Programm seid neustem ein Abstracter Fehler beim Parsen von String Zeilen auftritt. Leider kann ich mit der unten angehangen Fehlermeldung recht wenig anfangen. Kann mir da eventuell jemand was genauers zu sagen?
Hier zeige ich mal kurz den Code bei dem der Fehler auftritt...
DatenMB100 := TStringList.Create; while Pos(#$D#$A, Text) > 0 do begin
iPos := Pos(#$D#$A, Text);
Data := Copy(Text,1,iPos-1);
DatenMB100.Add(Data);
Delete(Text,1,iPos+1); end;
for iSL := 0 to DatenMB100.Count -1 do
Form1.DatenMemo.Lines.Add(DatenMB100[iSL]);
Stimmt den der Typ der Klasse?
Btw. Wenn es mehrere Subklassen gibt, welche verschiedene Parser bieten, würde ich nur eine abstrakte Parsermethode in der Basisklasse deklarieren, welche dann entsprechend von den abgeleiteten Klassen implemnetiert wird.
Wenn Du in der Basisklasse abstrakte Methoden deklarierst, musst Du diese in den Ableitungen auch überschreiben.
Blödsinn, hast Du ja (bin wohl noch nicht ganz wach)
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
Das seltsame ist, das ich daran eigendlich gar nichts geändert habe, und der Fehler jetzt aufeinmal da ist. Sicher ich weiß, das kann nicht sein. Aber irgendwie ist es schon seltsam...
Gruß Jens
Jens Hartmann Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
Beim Debuggen bekommst'e nicht das Wo und Warum raus?
Notfalls einfach mal in TMyBaseParser alle Methoden implementieren (abstrakt entfernen)
und stattdessen testweise eine Dummy-Methode mit Fehlermeldung verbauen.
Eigentlich kommt als Ursache nur in Betracht, dass nicht die richtige Klasse erzeugt oder die falsche Methode zum Parsen benutzt wird.
Die Klassenstruktur scheint mir so nicht wirklich sinnvoll. Die Klasse sollte entscheiden wie der Text zu verarbeiten ist, nicht derjenige der die Klasse benutzt.
Ich habe das ganze jetzt nochmal überarbeitet und ganz ohne abstract und overide realisiert. Ich habe die Methoden direkt in TMyBAseParser integriert und jetzt funktioniert es.
Kann mir trotzallem mal jemand das mit den abstracten etc erklären. Fehler ist zwar weg, aber ob es so wie ich es jetzt habe besser ist und wo der Fehler eventuell her gekommen ist, ist mir nicht so ganz klar.
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen