AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Construktor erfordert TComponent, obwohl nicht verlangt
Thema durchsuchen
Ansicht
Themen-Optionen

Construktor erfordert TComponent, obwohl nicht verlangt

Ein Thema von Lithiumoxid · begonnen am 21. Nov 2010 · letzter Beitrag vom 21. Nov 2010
Antwort Antwort
Lithiumoxid

Registriert seit: 21. Nov 2010
5 Beiträge
 
#1

Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 10:40
Guten Morgen!

Ich habe ein Problem mit meinem Programm, ich muss nämlich für die Schule ein Roulettespiel in OOP programmieren, ich habe mir ein bisschen mehr Design und Funktionen zugetraut und habe eben shcön programmiert.
Folgendes Problem tritt bei dieser Klasse auf:

Delphi-Quellcode:
unit USpielbrett;

interface
 type TSpielbrett=class (TObject)

private
 einsatz_p: array [1..3] of integer;

public
 constructor create;
 procedure setplein(k, betrag: integer);
 function getplein(k: integer): integer;

end;

implementation

constructor TSpielbrett.create;
var i: integer;
begin
 for i:=1 to 3 do einsatz_p[i]:=0;
end;

procedure TSpielbrett.setplein(k, betrag: integer);
begin
 einsatz_p[k]:=0;
end;

function TSpielbrett.getplein(k: integer): integer;
begin
 result:=einsatz_p[k];
end;

end.
Wobei dazu zu sagen ist, sie ist noch nicht fertig, was in dem Fall aber nicht schlimm ist!

Nur Delphi erwartet hier ständig, dass ich eine Varibale des Typs TComponent übergebe, obwohl das garnicht so deklariert ist? Liegt das daran, dass ich zwei Formulare habe, wenn ja, ich habe schon versucht den Namen des Formlars zu übergeben, hat aber auch nicht geklappt.

Bitte helft mir, ich bedanke mich schon im Voraus!

Gruß, Lithiumoxid

Geändert von Lithiumoxid (21. Nov 2010 um 10:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 10:52
Wo, wann erwartet Delphi das

Gib doch mal den gesamten Quellcode wo die Klasse benutzt wird
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Lithiumoxid

Registriert seit: 21. Nov 2010
5 Beiträge
 
#3

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:11
Hallo,

das wird dann verlangt, wenn ich den Konstruktor aufrufe und eine Instanz der Klasse erstellen will mit

Delphi-Quellcode:
Kessel:= TKessel.create;
 Konto:= TKonto.create(100);
 Spielbrett:=TSpielbrett.Create();
Nur Delphi sagt mit da muss eine Variable AOwner vom Typ TComponent übergeben werden, liegt das daran, dass ich zwei Formulare hab?

Gruß, Lithiumoxid
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:19
Und bei welchem der 3 Konstruktoraufrufen?
Markus Kinzler
  Mit Zitat antworten Zitat
Lithiumoxid

Registriert seit: 21. Nov 2010
5 Beiträge
 
#5

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:21
Hallo,

beim dritten, das ist die Klasse, die ich oben angegeben hab...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:22
Wo sagt Delphi was, bzw. sollen wir uns nun eine der 3 Create/Zeilen aussuchen?

Und wie sehen TKessel/TKonto aus?

[edit]
Wie sagt Delphi das?
Steht in den Compilerwarnungen genau diese Zeile oder steht nur zufällig der Cursor dort?
(manchmal meint Delphi die Zeile überm Cursor)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Lithiumoxid

Registriert seit: 21. Nov 2010
5 Beiträge
 
#7

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:27
Hallo,

bei TKessel und TKonto liegt es definitiv nicht denke ich, weil da der constructor-Aufruf ganz normal war, allerdings bekomme ich beim Spielbrett immer drei Möglichkeiten zur Auswahl, obwohl ich garkeinen Parameter zur Übergabe programmiert habe.
Als Fehlermeldung sagt er mir: Inkompatible Typen: TComponent mit "ClassReference" .
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:28
Kann es ein, dass es mehrer Variablen mit der Bezeichnung Spielbrett gibt bzw. das diese den falschen Typ hat?
Markus Kinzler
  Mit Zitat antworten Zitat
Lithiumoxid

Registriert seit: 21. Nov 2010
5 Beiträge
 
#9

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:29
Ja, das könnte sein, ich hab es gefunden, mal schauen, was passiert, wenn ich es ändere...

EDIT: ja es funktioniert DANKE!

Vielen Dank!

Geändert von Lithiumoxid (21. Nov 2010 um 11:31 Uhr)
  Mit Zitat antworten Zitat
wolfgang_SV

Registriert seit: 9. Nov 2007
Ort: Neumünster
39 Beiträge
 
#10

AW: Construktor erfordert TComponent, obwohl nicht verlangt

  Alt 21. Nov 2010, 11:37
ich denke mal

Spielbrett:=TSpielbrett.Create(nil);

oder

Spielbrett:=TSpielbrett.Create(self);
  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 02:49 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