![]() |
OnExecute selbst aufrufen
Na moin!
Ich benutze Delphi8 for .Net! Normalerweise kenn ich es von Delphi5 das man die Indys gleich in einer KomponentenBox hat. Beim 8er ist das leider nicht mehr so, also hab ich alles manuell eingebunden. Hab nun auch schon ein Objekt des Typs idTCPServer, das ich erstelle und auch schon Eigenschaften zugewiesen bekommt. Da diese Komponente nun aber leider nicht auf dem Layout sichtbar ist. Kann ich kein Event vie Doppelklick auf eine Ereignis definieren. Wie kann ich es mir ermöglichen das OnExecute- event des Servers zu definieren und zu erweitern? Hab mir zwar den Gesamten Code angeschaut der angelegt wird, wenn man eine StandardComponente anlegt, aber was nützliches gefunden hab ich leider nicht. Schon mal danke für jeden Thread |
Re: OnExecute selbst aufrufen
Moin,
also vestehe ich das richtig, dass du die Indy-Units einfach eingebunden hast? Versuch doch mal das Package der Indy-Komponenten hinzufügen, dann hast du auch wieder einen Reiter in der Komponentenliste. Unter Delphi7 heißt die Packagedatei: dclindy70.bpl musste also unter Delphi8 dclindy80.bpl heißen such doch einfach mal noch dieser Datei (oder schau mal in das Delphi8\bin-Verzeichnis). Dann kannst du die Komponente so nutzen, wie immer. Die andere Alternative ist die, die du schon angewendet hast. Die Ereignisse musst du dann aber selber zuweisen (im FormCreate)
Delphi-Quellcode:
die Ereignisprozedur musst du dann selber anlegen...
IdTCPServer.OnExecute:=IdTCPServerExecute;
Delphi-Quellcode:
MfG
procedure TForm.IdTCPServerExecute(AThread: TIdPeerThread);
begin end; Thorsten |
Re: OnExecute selbst aufrufen
Ok jetzt hab ich mein Uses so erweitert
Code:
um einen Thread verwenden zu können.
[b]uses[/b] ... System.Threading;
Unter Public hab ich dann meine Procedure angelegt:
Code:
Definierte Procedure im Code:
procedure IdTCPServerExecute(AThread: Thread);
Code:
Und jetzt das wo er hängt:
procedure TWinForm1.IdTCPServerExecute(AThread: Thread);
begin end; Im TWinForm1.Create ServerSocket ist mein idTCPServer Object
Code:
Folgende Fehlermeldung erhalte ich:
ServerSocket.OnExecute := IdTCPServerExecute;
Code:
Hast du noch ne Idee? Hab schon Probiert nen Thread mit zu übergeben, aber das wird auch dankend abgelehnt!
Incompatyple Types: 'TidServerThreadEvent' and 'procedure, untyped pointer or untyped parameter'
Thx |
Re: OnExecute selbst aufrufen
versuche es mit
Delphi-Quellcode:
@ServerSocket.OnExecute := @IdTCPServerExecute;
|
Re: OnExecute selbst aufrufen
Code:
--> Incompytyble Typs TidContext und Thread
ServerSocket.OnExecute := @IdTCPServerExecute;
Versteh i ni |
Re: OnExecute selbst aufrufen
vor beides ein @!
|
Re: OnExecute selbst aufrufen
Zitat:
.NET braucht bei sowas imho absolute Typsicherheit. mfG mirage228 |
Re: OnExecute selbst aufrufen
Zitat:
|
Re: OnExecute selbst aufrufen
Moin,
ich habe dir doch die Prozedur mit seinen Parametern geschrieben. Warum deklarierst du dann einen andere? Die Parameter sind doch ganz anders! Und wieso im Public-Teil, das ist zwar nicht so wichtig, aber soetwas wird immer im Private-Teil deklariert! die Prozedur muss so aussehen:
Delphi-Quellcode:
NICHT so:
procedure TForm.IdTCPServerExecute(AThread: TIdPeerThread);
begin end;
Delphi-Quellcode:
(siehe Parameter!)
procedure TForm.IdTCPServerExecute(AThread: Thread);
begin end; Die Fehlermeldung sagt genau das, was ich hier nochmal geschieben habe. Und was hast du da für eine komische uses-Aktion durchgeführt. Hast du mal versucht das Package zuinstallieren, damit das alles wie gewohnt funktionert? Hast du die bpl-Datei gefunden? sorry, aber wer lesen kann ist klar im Vorteil. MfG Thorsten |
Re: OnExecute selbst aufrufen
hatte bereits beide Varianten ausgetestet.
Gibts noch andere Lösungen für meine eigentliche Frage? Zumindest ist es in D8 nicht so einfach eine Indy Komponente in die Toolbox zu bekommen. Deshalb war ich je gezwungen alles selbst zu coden, leider häng ich halt nur an dieser Stelle mit den Events. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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