AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ableitung von TIdTCPServer - Problem mit Konstruktor
Thema durchsuchen
Ansicht
Themen-Optionen

Ableitung von TIdTCPServer - Problem mit Konstruktor

Ein Thema von Stevie · begonnen am 10. Sep 2003 · letzter Beitrag vom 11. Sep 2003
Antwort Antwort
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 10. Sep 2003, 15:08
Hallo!
Ich hoffe, ihr könnt mir helfen. Ich versuche eine Ableitung von TIdTCPServer zu erstellen. Dabei hab ich ein Problem mit Create.
Delphi-Quellcode:
type
  TMyServer = class(TIdTCPServer)
  private
    FUserManager: TIdUserManager;
    procedure SetUserManager(const Value: TIdUserManager);
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }
    property UserManager: TIdUserManager read FUserManager write SetUserManager;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Meine Komponenten', [TMyServer]);
end;

{ TMyServer }

constructor TMyServer.Create(AOwner: TComponent);
var
  ACommandHandler: TIdCommandHandler;
begin
  inherited Create(AOwner); // hab auch schon nur inherited probiert
  SetIntercept(TIdServerIntercept.Create(Self));
  FIntercept.Name := 'Intercept';
  SetIOHandler(TIdServerIOHandlerSocket.Create(Self));
  FIOHandler.Name := 'IOHandler';
  SetThreadMgr(TIdThreadMgrDefault.Create(Self));
  FThreadMgr.Name := 'ThreadMgr';
  SetUserManager(TIdUserManager.Create(Self));
  FUserManager.Name := 'UserManager';
  FUserManager.CaseSensitiveUsernames := True;
  FUserManager.CaseSensitivePasswords := True;
  ACommandHandler := FCommandHandlers.Add;
  ACommandHandler.Command := '/quit';
  ACommandHandler.Disconnect := True;
  ACommandHandler.Name := 'CommandHandlerQuit';
  ACommandHandler.OnCommand := CommandHandlerQuitCommand;
  ACommandHandler.ReplyNormal.NumericCode := CodeCommandQuit;
  ACommandHandler.ReplyNormal.Text.Add(TextCommandQuit);
end;
Wenn ich das override in der Deklaration weglasse, führt er meinen Code nicht aus. Bitte helft mir!!!
Stefan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 10. Sep 2003, 15:14
Moin Stevie,

Zitat von Stevie:
Wenn ich das override in der Deklaration weglasse, führt er meinen Code nicht aus. Bitte helft mir!!!
vielleicht hab' ich jetzt irgendwas nicht mitbekommen, aber warum willst Du override weglassen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 10. Sep 2003, 15:20
Öhm, was red (schreib) denn da??? Natürlich darf ich das override nicht weglassen! Mien Prob ist, dass die Erstellung dieser Komponenten
Delphi-Quellcode:
  SetIntercept(TIdServerIntercept.Create(Self));
  FIntercept.Name := 'Intercept';
  SetIOHandler(TIdServerIOHandlerSocket.Create(Self));
  FIOHandler.Name := 'IOHandler';
  SetThreadMgr(TIdThreadMgrDefault.Create(Self));
  FThreadMgr.Name := 'ThreadMgr';
nicht so geschieht, wie wenn ich sie auf ein Form packen würde und die beim TIdTCPServer eintragen würde! Warum?
Stefan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 10. Sep 2003, 15:40
Moin Stevie,

was passiert denn nicht so wie gewünscht?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 10. Sep 2003, 15:48
Die Komponenten, die ich erstellen möchte, werden zwar in den Eigenschaften angezeigt, aber unter Methoden erscheinen sie nicht.
Wenn ich zum Beispiel ein TIdServerIOHandlerSocket auf das Form packe, wird es in der Dropdown-Liste von TIdTCPServer angezeigt. Wähle ich es aus, steht unter Ereignisse das Ding und wenn ich auf das Plus klicke, kann ich das Ereignis OnStatus sehen.
Mach ich das so, wie oben beschrieben, dann taucht es eben nicht auf.
Ich hab auch schon das hier versucht(klappt aber ebenso wenig):
Delphi-Quellcode:
IOHandler := TIdServerIOHandlerSocket.Create(Self);
IOHandler.Name := 'IOHandler';
Stefan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 10. Sep 2003, 16:25
Moin Stevie,

Zitat von Stevie:
Wähle ich es aus, steht unter Ereignisse das Ding und wenn ich auf das Plus klicke, kann ich das Ereignis OnStatus sehen.
das hab' ich gerade mal ausprobiert, und frage mich, was Du meinst.
Welches Plus?
Beide Kompos haben ein OnStatus Ereignis, und das was bei Deiner Kompo zu sehen sein dürfte wäre das des TidTCPServers.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 11. Sep 2003, 07:55
Ich hab mal drei Screenshots gemacht, die das erklären dürften.
Bei dem ersten hab ich ganz normal einen TIdTCPServer auf ein Formular gepackt, außerdem noch TIdThreedMgrDefault und TIdServerIOHandlerSocket.
Die beiden hab ich dann beim TIdTCPServer unter ThreadMgr und IOHandler eingetragen.

Bei dem zweiten und dritten hab ich meine Komponente genommen, in der ich im Konstruktor diese beiden Komponenten wie schon weiter oben gezeigt eingefügt habe.

Das Problem scheint doch zu sein, dass die Komponenten nicht richtig angelegt werden, oder? Auf jeden Fall nicht so, als wenn ich sie "ganz normal" erstelle.

Kann mir jetzt jemand helfen???
Angehängte Grafiken
Dateityp: bmp 3_188.bmp (155,9 KB, 6x aufgerufen)
Dateityp: bmp 2_598.bmp (287,2 KB, 9x aufgerufen)
Dateityp: bmp 1_140.bmp (196,9 KB, 9x aufgerufen)
Stefan
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 11. Sep 2003, 11:49
Moin Stevie,

jetzt hab' ich das mit dem Plus verstanden
So sieht es, wenn ich die Kompos manuell auf das Formular lege nämlich unter D5 nicht aus. Da ist es so wie bei Deinem dritten Screenshot.

Eine Idee:
Benutze mal als Owner nicht self, sondern AOwner.

Sollte das auch noch nicht weiterhelfen, könntest Du mal versuchen, ob es einen Unterschied macht (kann ich mir bei dieser Kompo eigentlich nicht vorstellen...), wenn Du die Unterkompos in der Methode CreateWnd erzeugst (wichtig: Sicherstellen, dass dies dort nur einmal geschieht).
Beispiele für Hier im Forum suchenCreateWnd solltest Du hier auch finden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#9

Re: Ableitung von TIdTCPServer - Problem mit Konstruktor

  Alt 11. Sep 2003, 12:21
Jippieeeeeee! Mit AOwner klappt es!!!!!
... Bleiben nur noch dröfundneunzig andere Probleme!
Stefan
  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 07:32 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