| Autor |
Beitrag |
brainkopf
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Di 11.12.07 21:26
Hi,
ich bin mir total unsicher ob das hier reingehört, aber ich probier es einfach mal.
Also.
Ich habe nen kleines Programm geschrieben (sehr klein xD)
Das den Text eines Memos in ein ShowMessage ausgibt.
Das ist ja ne tolle spielerei. nur hätte ich es gerne so, das diese Message an eine bestimmte Ip Adresse gesendet wird.
Also wenn PC1 die ip 1.1.1.1 und PC2 die ip 2.2.2.2 hat und das Programm auf PC1 ausgeführt wird, soll die Message an 2.2.2.2 gesendet werden und somit auf PC 2 erscheinen.
Ist das möglich?
mfg
brainkopf
Edit: Achso. Es sollte innerhalb eines Netzwerkes funktionieren! Moderiert von Narses: Topic aus VCL (Visual Component Library) verschoben am Di 11.12.2007 um 20:37
|
|
Quitzlinga
      
Beiträge: 60
Erhaltene Danke: 2
Win XP
Delphi 2007 Prof. Codegear Win32
|
Verfasst: Di 11.12.07 22:25
Wenn ich das jetzt richtig verstehe, willst Du ein Chat-Programm schreiben, das Textnachrichten zwische 2 Computern austauscht bzw. nur in eine Richtung die Nachricht sendet ohne Möglichkeit der Rückantwort.
Wenn es das ist, dann schau Dir dazu am besten mal Narses Netzwerktutorial an
www.delphi-library.d...kets+v400_54269.html
oder das mitgelieferte Chat-Beispiel der Indy-Komponenten von Delphi. Beides behandelt deine Problemstellung recht gut. Sei aber nicht gleich erschlagen von dem ganzen Stoff, denn es ist für den Anfang doch recht starker Tobak.
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Di 11.12.07 22:28
mal net send in die Runde hauend, 
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Di 11.12.07 22:42
gibt es nicht vll iwi eine möglichkeit das direkt einfach zu senden?
Also nach dem Motto
Quelltext 1:
| SendMessage('test') to 1.1.1.1; |
oder sowas?
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 11.12.07 23:28
Moin!
brainkopf hat folgendes geschrieben: | | gibt es nicht vll iwi eine möglichkeit das direkt einfach zu senden? |
Nein, leider nicht.
Der Tipp mit NET SEND kommt deiner Vorstellung davon vielleicht noch am nächsten, allerdings ist doch heute meistens der Netzwerknachrichtendienst deaktiviert, so dass es eh nicht funktionieren wird.
Damit ist der Tipp, sich mal mit einem Chat-Tutorial zu beschäftigen, IMHO der erfolgversprechendste Weg.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Di 11.12.07 23:44
Okay. Danke. Schade wenn es sowas nicht gibt. Den ich finde das mit den 'anmelden' im Chat über den Server etwas blöd. Müssen eigentlich beide Clienten das selbe Programm haben? Oder können die unterschielich sein?
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 12.12.07 00:01
Moin!
brainkopf hat folgendes geschrieben: | | Den ich finde das mit den 'anmelden' im Chat über den Server etwas blöd. |
Was meinst du denn mit "anmelden"?  Wenn du damit TCP-Verbindungen meinst, das geht auch mit UDP.
brainkopf hat folgendes geschrieben: | | Müssen eigentlich beide Clienten das selbe Programm haben? Oder können die unterschielich sein? |
Leider verstehe ich auch diese Frage nicht.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Quitzlinga
      
Beiträge: 60
Erhaltene Danke: 2
Win XP
Delphi 2007 Prof. Codegear Win32
|
Verfasst: Mi 12.12.07 01:18
Simpel ausgedrückt funktioniert es so :
Auf einem Computer läuft die Serversoftware. Komponenten, die du dazu benötigst sind entweder TIDTCPServer oder TIDUDPServer der Indykomponenten aus Delphi je nachdem, welches Protokoll Du nehmen willst, Ich rate zur TCP-Komponente, da das Protokoll auch sicherstellt, das alles ankommt, was Du sendest. Auf dem 2. Rechner läuft dann die Client-Software, die sich an den Server via Netz verbindet (Ich vermute mal, das Du das mit der Anmeldung meinst). So gesehen brauchst Du schon 2 verschiedene Programme : Einmal den Client und einmal den Server. Ich realisiere das aber meistens so, das ich beide Komponenten benutze und den Anwender entscheiden lasse, ob er jetzt Client oder Server spielen will. Das hat den Vorteil, das letztendlich der Benutzer vor sich nur ein Programm vor sich hat aber auch den Nachteil, das sich aus allen Benutzern erst mal der Server herauskristallisieren muss, an den sich dann alle connecten. Natürlich kannst Du auch eine Verteilungsvariante a la ICQ machen, wo alle Computer einen Server aufmachen und diese Adresse einem zentralen Verwaltungsserver mitteilen, der dann diese Adressen auf Wunsch herausgiebt.So können sich Computer untereinander (peer to peer like) verbinden, indem sie sich auf die herausgegebenen Adresse via Client Software verbinden. Ist aber sehr fortgeschrittenes Design und für deinen Fall übertrieben. Ergo : Wieviele Programme dein Benutzer letzendlich vor sich hat, hängt von deinem Konzept ab. Jede Variante, egal ob getrennt oder kombiniert in einem Programm hat seine Vor- und Nachteile.
| Zitat: | | gibt es nicht vll iwi eine möglichkeit das direkt einfach zu senden? |
Kommt drauf an, was Du einfach nennst. Der Befehl zum Text-Senden in der Indykomponente ist einfach : Ein simples writeln('text')und der Text wird von einem zum anderen Computer gesendet. Die Probleme fangen erst dann an, wenn Du die Netzwerkkomponenten noch nicht richtig verstehst. Darum schau dir erst mal das Chat-Beispiel an. das macht genau das, was Du willst und Du kannst erste Netzwerkluft schnuppern. Wenns Dich dann gepackt hat, dann vertiefe Dein Wissen mit dem vorher beschriebenen Tutorial und erweiter Dein Programm. Einfach ist letztendlich (leider) nichts, das ist immer harte Arbeit selbst mit einem so gutem Compiler und Komponenten wie Delphi.
Wenn Du zu dem Chat-Beispiel Fragen hast, dann schick mir einfach ne PM und ich beantworte sie dann. Hab ja selber mal klein angefangen und weiss daher, wie verwirrend das im ersten Moment ist.
MfG
Quitzlinga
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Mi 12.12.07 15:11
Danke für die umfangreiche Antwort!
Und mit dem Anmelden habe ich das verbinden mit dem Server gemeint. xD
Ich werde mir einfach mal den Code von dem Chat angucken und vll erstmal den so umschreiben wie ich in brauche.
Ich halte euch auf dem laufenden!
Edit:
So jetzt habe ich ein Problem.
Den gesendeten Text, würde ich gerne in einer ShowMessage anzeigen.
Nur das funktioniert nicht. Es kommt immer ein leeres Fenster.
Wenn dies nicht mit Show Message möglich ist, gibts da eine andere möglichkeit?
Delphi-Quelltext 1:
| ShowMessage(Socket.ReceiveText); |
Moderiert von Narses: Code- durch Delphi-Tags ersetzt
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 12.12.07 17:07
Moin!
Deine Codezeile ist ansich erstmal korrekt (kann man ja auch kaum "falsch" machen, sofern was im Empfangspuffer liegt). Zeig mal etwas mehr Code, so kommen wir da nicht weiter.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Mi 12.12.07 20:23
also. hier die client 2 (Nur Ausgabe möglich)
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, StdCtrls;
const MY_PORT = 12345; type TForm1 = class(TForm) ServerAdress: TEdit; Online: TCheckBox; Log: TMemo; Label1: TLabel; Label2: TLabel; Button1: TButton; procedure FormCreate(Sender: TObject); procedure OnlineClick(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure BtnSendClick(Sender: TObject); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); private public ClientSocket1: TClientSocket; end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin ClientSocket1 := TClientSocket.Create(Form1); ClientSocket1.OnConnect := ClientSocket1Connect; ClientSocket1.OnDisconnect := ClientSocket1Disconnect; ClientSocket1.OnError := ClientSocket1Error; ClientSocket1.OnRead := ClientSocket1Read; ClientSocket1.Port := MY_PORT; end;
procedure TForm1.OnlineClick(Sender: TObject); begin if (Online.Checked) then ClientSocket1.Host := ServerAdress.Text; ClientSocket1.Active := Online.Checked; end;
procedure TForm1.Button1Click(Sender: TObject); begin Form1.Destroy end; procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add('Verbunden mit '+ServerAdress.Text); end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add('Verbindung getrennt.'); Online.Checked := FALSE; end;
procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin Log.Lines.Add('Fehler '+IntToStr(ErrorCode)); Online.Checked := FALSE; ErrorCode := 0; end;
procedure TForm1.BtnSendClick(Sender: TObject); begin if (ClientSocket1.Active) then else Log.Lines.Add('Nicht verbunden!'); end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add(Socket.ReceiveText); ShowMessage(Socket.ReceiveText); end;
procedure TForm1.FormDestroy(Sender: TObject); begin if (ClientSocket1.Active) then ClientSocket1.Close; end;
end. |
Die Client 1 (Ausgabe und schreiben)
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, StdCtrls;
const MY_PORT = 12345; type TForm1 = class(TForm) ServerAdress: TEdit; Online: TCheckBox; Log: TMemo; Input: TEdit; BtnSend: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; procedure FormCreate(Sender: TObject); procedure OnlineClick(Sender: TObject); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure BtnSendClick(Sender: TObject); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); procedure FormDestroy(Sender: TObject); private public ClientSocket1: TClientSocket; end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin ClientSocket1 := TClientSocket.Create(Form1); ClientSocket1.OnConnect := ClientSocket1Connect; ClientSocket1.OnDisconnect := ClientSocket1Disconnect; ClientSocket1.OnError := ClientSocket1Error; ClientSocket1.OnRead := ClientSocket1Read; ClientSocket1.Port := MY_PORT; end;
procedure TForm1.OnlineClick(Sender: TObject); begin if (Online.Checked) then ClientSocket1.Host := ServerAdress.Text; ClientSocket1.Active := Online.Checked; end;
procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add('Verbunden mit '+ServerAdress.Text); end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add('Verbindung getrennt.'); Online.Checked := FALSE; end;
procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin Log.Lines.Add('Fehler '+IntToStr(ErrorCode)); Online.Checked := FALSE; ErrorCode := 0; end;
procedure TForm1.BtnSendClick(Sender: TObject); begin if (ClientSocket1.Active) then ClientSocket1.Socket.SendText(Input.Text) else Log.Lines.Add('Nicht verbunden!'); end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add(Socket.ReceiveText); end;
procedure TForm1.FormDestroy(Sender: TObject); begin if (ClientSocket1.Active) then ClientSocket1.Close; end;
end. |
und die Server
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp;
const MY_PORT = 12345; type TForm1 = class(TForm) Log: TMemo; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); private public ServerSocket1: TServerSocket; end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin ServerSocket1 := TServerSocket.Create(Form1); ServerSocket1.OnClientRead := ServerSocket1ClientRead; ServerSocket1.Port := MY_PORT; ServerSocket1.Open; Log.Lines.Add('Server online.'); end;
procedure TForm1.FormDestroy(Sender: TObject); begin ServerSocket1.Close; end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var MyMessage: String; i: Integer; begin MyMessage := Socket.RemoteAddress+': '+Socket.ReceiveText; Log.Lines.Add(MyMessage); for i := 0 to ServerSocket1.Socket.ActiveConnections-1 do ServerSocket1.Socket.Connections[i].SendText(MyMessage); end;
end. |
ich hoffe das ist genügend. xD
bin mir nicht sicher was dafür wichtig. ist.
Moderiert von Narses: Code- durch Delphi-Tags ersetzt
|
|
Quitzlinga
      
Beiträge: 60
Erhaltene Danke: 2
Win XP
Delphi 2007 Prof. Codegear Win32
|
Verfasst: Mi 12.12.07 22:43
Hi
Mit der Socket-Komponente von Delphi kenne ich mich jetzt nicht so gut aus, aber folgende Dinge sind mir aufgefallen :
| Zitat: | Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add('Verbunden mit '+ServerAdress.Text); end; | |
Ersetz das am besten mal mit Socket.remotehost. Dadurch bekommst du letztendlich die IP, die auch im Socket steht und mit der du verbunden bist.
| Zitat: | Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add(Socket.ReceiveText); ShowMessage(Socket.ReceiveText); end; | |
Besser :
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var MyMessage : string; begin MyMessage := Socket.ReceiveText; Log.Lines.Add(MyMessage); ShowMessage(MyMessage); end; |
Probiers jetzt noch einmal aus. Auf Dauer würde ich Dir aber zur INDY-Komponente raten. Die ist wesentlich besser.
MfG
Quitzlinga
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 13.12.07 00:32
Moin!
brainkopf hat folgendes geschrieben: | ich hoffe das ist genügend. xD
bin mir nicht sicher was dafür wichtig. ist. |
Wenn man von dieser Zeile absieht, ist das exakt der Tutorial-Code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add(Socket.ReceiveText); ShowMessage(Socket.ReceiveText); end; |
Das klappt deshalb nicht, weil du zwei mal aus dem Socket liest, aber nur einmal Daten da sind; wenn du sie gelesen (und ins Memo ausgegeben hast), dann sind da keine Daten mehr. Wie man das Problem lösen kann, hat dir Quitzlinga ja bereits gezeigt.
Quitzlinga hat folgendes geschrieben: | Mit der Socket-Komponente von Delphi kenne ich mich jetzt nicht so gut aus, aber folgende Dinge sind mir aufgefallen :
| Zitat: | Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin Log.Lines.Add('Verbunden mit '+ServerAdress.Text); end; | |
Ersetz das am besten mal mit Socket.remotehost. Dadurch bekommst du letztendlich die IP, die auch im Socket steht und mit der du verbunden bist. |
Das ist eigentlich Geschmacksache. Da im Editfeld ServerAdress der eingegebene Hostname steht, würde ich bei einer Meldung auch erwarten, dass da eine Verbindung zu meiner Eingabe hergestellt wurde (das sehe ich der IP-Adresse jedenfalls nicht direkt an).
Quitzlinga hat folgendes geschrieben: | | Auf Dauer würde ich Dir aber zur INDY-Komponente raten. Die ist wesentlich besser. |
Sicherlich sind die Delphi-Sockets nicht state-of-the-art, aber ich wäre doch etwas vorsichtiger mit überschwänglichen Lobeshymnen auf die Indy-Kompos...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Do 13.12.07 12:44
Ja. den Code des Tutorilas habe ich noch nicht auf meine Ansprüche abgeändert, da ich zuerst die Funktion haben möchte.
Den kompletten Code werde ich nachher natürlich noch auf meine bedürfnisse abändern.
Ich hoffe ich darf den so verwenden. Als Grundlage.
Danke.
Also es funktioniert. Geht es jetzt noch, das die IP nicht in der Medlung angezeigt wird?
Weil die Meldung ist so aufgebaut: IP: Inhalt.
Die Ip finde ich in der Meldung etwas störend. Allerdings sollte sie in der Log stehen!
|
|
hazard999
      
Beiträge: 162
Win XP SP2
VS 2010 Ultimate, CC.Net, Unity, Pex, Moles, DevExpress eXpress App
|
Verfasst: Do 13.12.07 12:53
Hallo,
wie wärs mit UDP-Multicast?
Da wäre dann kein Server notwendig.
r u
René
_________________ MOV EAX, Result;MOV BYTE PTR [EAX], $B9;MOV ECX, M.Data;MOV DWORD PTR [EAX+$1], ECX;MOV BYTE PTR [EAX+$5], $5A;MOV BYTE PTR [EAX+$6], $51;MOV BYTE PTR [EAX+$7], $52;MOV BYTE PTR [EAX+$8], $B9;MOV ECX, M.Code;MOV DWORD PTR [EAX+$9], ECX
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 13.12.07 13:28
Moin!
brainkopf hat folgendes geschrieben: | | Ich hoffe ich darf den so verwenden. Als Grundlage. |
Klar, ist ja zum Lernen da.
brainkopf hat folgendes geschrieben: | Also es funktioniert. Geht es jetzt noch, das die IP nicht in der Medlung angezeigt wird?
Weil die Meldung ist so aufgebaut: IP: Inhalt. |
Ja, das geht. Die Nachricht wird im Server erstellt und dann an alle Clients gesendet. Aber das wird ausführlich im Tutorial-Text erläutert, bitte da nochmal nachlesen.
brainkopf hat folgendes geschrieben: | | Die Ip finde ich in der Meldung etwas störend. Allerdings sollte sie in der Log stehen! |
Wenn du das Tut durchgearbeitet hast, sollte es klar sein, wie und wo man dafür ändern muss. Falls es nach der Lektüre noch nicht klar sein sollte, kannst du ja nochmal nachfragen.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Do 13.12.07 19:28
So.
Also das funktioniert jetzt.
Habs zwar nicht so genau gemacht, aber es funzt.
Jetzt aber nen anderes Problem.
Wenn ich sage, Form1.destroy; läuft der Prozess ja noch weiter.
Allerdings kommen die Meldungen nichtmehr durch.
Gibt es eine möglichtkeit, die Meldungen unabhänig von Form1 zu machen?
Ich würde nämlich gerne Form1 verschwinden lassen.
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 13.12.07 19:39
Moin!
brainkopf hat folgendes geschrieben: | | Wenn ich sage, Form1.destroy; läuft der Prozess ja noch weiter. |
Du darfst das Hauptformular einer VCL-Anwendung nicht einfach freigeben, das führt zu Fehlern.  Es sollte doch reichen, dieses zu verstecken: Form1.Hide;
Btw: Bitte nur ein Thema pro Topic, das führt sonst zu Chaos.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: Do 13.12.07 19:48
trotzdem danke. hat funktioniert.
also ich würde sagen, das Thema ist dann wohl geklärt!
Vielen Dank an alle die mir geholfen haben!
|
|
brainkopf 
      
Beiträge: 57
Win XP; Win 7
C# (VS 2005/2008)
|
Verfasst: So 16.12.07 20:21
Also ich habe das Programm gerade mit nem 2. Pc probiert!
Es funzt nicht!
Es kommt immer ein Fehler! Ich kann nicht verbinden.
Anschließen hängt sich das Programm total auf
Fehler 10060
das ist der Fehler!
|
|