AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Abstact Error: Was soll mir das sagen? Wo liegt der Fehler?
Thema durchsuchen
Ansicht
Themen-Optionen

Abstact Error: Was soll mir das sagen? Wo liegt der Fehler?

Ein Thema von yankee · begonnen am 3. Aug 2004 · letzter Beitrag vom 3. Aug 2004
Antwort Antwort
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#1

Abstact Error: Was soll mir das sagen? Wo liegt der Fehler?

  Alt 3. Aug 2004, 20:12
Hallo, ich habe einmal diese Funktion:
Delphi-Quellcode:
function TMainForm.getrandcards(const Anzahl:integer; var Karten:TStrings):string;
var i,rand:integer;
begin
    randomize;
    for i:=1 to Anzahl do
    begin
        if i >1 then result :=result +';';
        rand :=random(Karten.Count)+1;
        result :=result +Karten.Strings[rand];
        Karten.Delete(rand);
    end;
end;
die ist dafür da Karten (von Skat) zu geben. Die Karten sind in TStrings. Pro Zeile eine Karte. Diese Funktion soll jetzt eine Anzahl Karten in einem String duch Semikolons getrennt geben. Das ist die procedure aus der die Funktion aufgerufen wird:
Delphi-Quellcode:
procedure TMainForm.Austeilen;
var Karten :TStrings;
begin
    Karten :=TStrings.Create;
    Karten.LoadFromFile(ExtractFilePath(ParamStr(0))+'daten\Karten.txt');
    showmessage(getrandcards(10, Karten));
end;
Um zu sehen ob es funzt lasse ich das Ergebniss von 10 zufälligen Karten in einer showmessage geben. Zu der Showmessage kommt es aber nicht, weil es an der Stelle ein "Abstract Error" gibt. Woran kann das Liegen?
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Abstact Error: Was soll mir das sagen? Wo liegt der Fehl

  Alt 3. Aug 2004, 20:16
Zitat von yankee:
Karten :=TStrings.Create;[/delphi]
Standard abtract-error #1

TStrings ist eine abstrakte Klasse -> du kannst keine Instanz von ihr erzeugen.
Du kannst sie aber mit dem Konstruktor von TStringList instanzieren.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#3

Re: Abstact Error: Was soll mir das sagen? Wo liegt der Fehl

  Alt 3. Aug 2004, 20:18
Zitat von yankee:
Karten :=TStrings.Create;
Karten.LoadFromFile
Wenn ich mich nicht irre (keine Delphi-Hilfe zur Hand), dann ist TStrings eine abstrakte Basisklasse und hat noch keine Implementation von LoadFromFile.
Versuchs mit einer von TStrings abgeleiteten Klasse die LoadFromFile implementiert (zum Beispiel TStringList).

Gruss Nico
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Abstact Error: Was soll mir das sagen? Wo liegt der Fehl

  Alt 3. Aug 2004, 20:22
Hi,

schonmal per Debugger in die Function rein debugged ? Wo kommt der Fehler genau ?
Ich bin mir jetzt aber nicht sicher, aber ich würde die Zeile :

result :=result +Karten.Strings[rand]; gegen

result :=result +Karten[rand]; austauschen.

Und wie weiter oben schon gesagt :

das :

Karten :=TStrings.Create;

mit

Karten := TSTringList.create; //erzeugen
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: Abstact Error: Was soll mir das sagen? Wo liegt der Fehl

  Alt 3. Aug 2004, 20:23
Danke... mit
Karten :=TStringList.Create; geht es....
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:01 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