![]() |
Problem bei Vererbung
hey!
ich habe ein problem bei der vererbung eines constructors. die oberklasse sieht wie folgt aus:
Delphi-Quellcode:
und so die tochterklasse ist dann wie folgt aufgebaut:
constructor create(pPortNr: integer); virtual;
constructor TServer.create(pPortNr: integer); begin serverSocket:=TServerSocket.Create(nil); serverSocket.Port:=pPortNr; serverSocket.OnClientConnect:=incomingConnection; serverSocket.OnClientRead:=incomingMessage; serverSocket.OnClientDisconnect:=clientDisconnected; serverSocket.Open; showmessage('uServer'); end;
Delphi-Quellcode:
mein problem ist: es wird weder die liste initialisiert noch die showmessage ausgegeben.
constructor create(pPortNr: integer); override;
constructor TMServer.create(pPortNr: integer); begin showmessage('1'); //zu testzweck inherited create(pPortNr); UserListe := TListe.init; end; das inherited create wird jedoch aufgerufen, da der server geöffnet wird und ich auch verbindungen + chatnachrichten verschicken kann. brauche dringend hilfe, mein lehrer ist auch schon ratlos -.- mfg |
Re: Problem bei Vererbung
Und das Objekt wird auch so erstellt?
Delphi-Quellcode:
var
S: TServer; begin S:=TMServer.Create(123); { TMServer } end; |
Re: Problem bei Vererbung
ja genau. und dann soll halt der TMServer eine eigene TListe haben.
TListe funktioniert, hab ich mit einem externen programm nur für die liste ausprobiert --> läuft. das problem liegt (soweit ich das weiß), bei dem überschreiben des constructors create, weil nur inherited durchgeführt wird, der rest des neuen constructors wird kurzerhand ignoriert. |
Re: Problem bei Vererbung
Häng mal das Projekt an
|
Re: Problem bei Vererbung
Liste der Anhänge anzeigen (Anzahl: 1)
so, hier dann mal das projekt.
es handelt sich um den server. ich möchte die liste initialisieren. bis jetz sind allerdings noch keine funktionen damit vorhanden. sendet der client eine nachricht nur mit einem '#' wird die liste angesprochen und ich erhalte fehlermeldungen, weil diese nicht initialisiert wurde. weitere kritik wird natürlich gerne entgegen genommen ;) |
Re: Problem bei Vererbung
Create von TMServer ist unter "protected", deshalb wird das geerbte "public" create aufgerufen...
|
Re: Problem bei Vererbung
oh.. oaky^^
danke, habs geändert und funktioniert jetz auch. wer weitere anregungen/kritik hat, darf sie gern noch äußern ;) |
Re: Problem bei Vererbung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz