AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIDTCPServer Problem
Thema durchsuchen
Ansicht
Themen-Optionen

TIDTCPServer Problem

Ein Thema von storm1988 · begonnen am 14. Sep 2005 · letzter Beitrag vom 28. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#1

TIDTCPServer Problem

  Alt 14. Sep 2005, 19:56
Hi

Ich hab einen Server geschrieben der jede Sekunde ein Signale vom Client erhaltet. Diese Signale werden dann in der IdTCPServer1Execute Procedure verarbeitet. Und nun mein eigentliches Problem: Wenn der Server ein bestimmtes Signal erhaltet, soll er den Port ändern. Doch dazu muss ich ihn ja die Active Eigenschaft auf "False" setzen. Doch wenn ich das zum Beispiel in der ServerExecute Procedure mache, bekomme ich immer einen Read Fehler.

Nun meine Frage: Wie kann ich am besten den Port ändern????

Mfg st0rm
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#2

Re: TIDTCPServer Problem

  Alt 15. Sep 2005, 14:13
Mhh hat keine eine Ahung??? Mir würde schon geholfen sein, wenn mir irgend wer sagen könnte wie ich den Server restarten kann!!

Mfg st0rm
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#3

Re: TIDTCPServer Problem

  Alt 19. Sep 2005, 08:05
Mhh kann mir bitte wer Helfen wie ich zum Beispiel den Port unter laufzeit des Programms änder kann???
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#4

Re: TIDTCPServer Problem

  Alt 19. Sep 2005, 16:07
du kannst eine windows msg an deine anwendung schicken, diese wird dann beim verlassen deinen routine abgearbeitet.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#5

Re: TIDTCPServer Problem

  Alt 19. Sep 2005, 18:56
Danke erst mal für deine Antwort

Könntest du mir vielleicht ein Beispiel zeigen???
Andere Frage, gibt es bei der tidtcp Komponente nicht so etwas wie refresh damit alles upgedated wird??

Mfg st0rm
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#6

Re: TIDTCPServer Problem

  Alt 20. Sep 2005, 08:31
ich hack einfach hier mal los (also es ist nicht getestet):

Delphi-Quellcode:
const
     MyMessage = WM_USER + 838;

type
  TMyForm= class(TForm)
    procedure MyMessageRoutine(var Message: TMessage); message WM_MyMessage;
  end;
  
procedure TMyForm.MeinRoutineInderIchwasAendernwillAberNichtkann(Sender: TObject);
begin
  PostMessage(Self.Handle, WM_MyMessage, 0, 0);
end;

procedure TMyForm.MyMessageRoutine(var Message: TMessage); message WM_MyMessage;
begin
  // hier machen was nicht ging.
end;
geht wie folgt. in der execute methode kannst du den port nicht ändern weil der workerthread dann gekillt wird und du allerding noch im workerthread bist.
die funktion postmessage trägt einen eintrag in die nachrichtenwarteschlage von deine form ein.
wenn dann dein form wieder etwas abarbeiten kann (z.b. wenn die onExec durch ist)
wird die routine MyMessageRoutine aufgerufen.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#7

Re: TIDTCPServer Problem

  Alt 22. Sep 2005, 20:27
So hab jetzt des Probiert, jedoch bekomm ich beim Compelieren bei der Procedure:

Delphi-Quellcode:
procedure TMyForm.MyMessageRoutine(var Message: TMessage); message WM_MyMessage;
begin
  // hier machen was nicht ging.
end;
diese Fehlermeldung: Unknown directive: 'message'

Übrigens ich weiß zwar nich ob es stimmt aber ich hab statt MyMessage = WM_USER + 838; WM_MyMessage = WM_USER + 838; geschrieben.

Mfg st0rm
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#8

Re: TIDTCPServer Problem

  Alt 23. Sep 2005, 08:33
bei der implementation einfach das angehängte
message WM_MyMessage; weglassen.

das muss nur in der klassen definition stehen.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#9

Re: TIDTCPServer Problem

  Alt 23. Sep 2005, 20:01
Erst mal danke für die Hilfe , jedoch hat das mein Problem dennoch nicht gelößt.....
Denn wenn ich in der onExecute die Message schicke, wird sie sofort verarbeitet, dass heiß das Programm wartet nicht bis die OnExecute Procedure abgearbeitet ist

mfg st0rm
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#10

Re: TIDTCPServer Problem

  Alt 26. Sep 2005, 20:10
Das kann eigentlich nicht sein.
wenn onExecute nicht in einem eigenen Thread läuft ( was so eigentlich nicht der fall ist ), dann wird die windows message sicherlich erst nach verlassen der onExecuter abgearbeitet.
Vielleicht springt er nachher gleich wieder in die onExecute oder sowas, aber ein programm kann nur eine funktion gleichzeitig abarbeiten fals du die nicht dirrect aufrufst.
Eine windows message wird erst abgearbeitet, wenn das programm idle ist oder wenn du eben dazwischen application.processmessages aufrufst.

Arnulf
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:53 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