Benutzer mit den meisten Antworten
Instant Messager- Kontrolle

Frage
-
Ich habe nun einige fortschrite mit dem Instant Messager gemacht, bin aber öfters von den Vorschlägen in meinem Instant-Messenger-Vorgehen Thread abgekommen.
Damit ich nicht komplett in die falsche Richtung entwickle, woltle ich mich nochmal versichern. Es geht mir auch nicht um den eigentlichen Code, sondern nur um die grobe Richtung.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Runtime.Serialization; using System.Net.Sockets; using System.Runtime.Serialization.Formatters.Binary; namespace InstantMessager_Server { class Program { List<Task> tasks = new List<Task>(); List<User> registreduser = new List<User>(); List<User> logedinuser = new List<User>(); static void Main(string[] args) { } private void Run() { while(true) { do { if (tasks[0] is RegisterTask) { var temp = tasks[0] as RegisterTask; registreduser.Add(new User(temp.Sender, temp.Password)); tasks.RemoveAt(0); } else if(tasks[0] is LoginTask) { var temp = tasks[0] as LoginTask; foreach (var loginuser in registreduser) { if(loginuser.Nickname == temp.Sender) { var tempuser = loginuser; if (temp.connection != null) { tempuser.connection = temp.connection; tempuser.Logedin = true; logedinuser.Add(loginuser); } break; } } tasks.RemoveAt(0); } else if(tasks[0] is LogoutTask) { var temp = tasks[0] as LogoutTask; foreach(var logoutuser in logedinuser) { if(temp.Sender == logoutuser.Nickname) { logoutuser.connection = null; logoutuser.Logedin = false; logedinuser.Remove(logoutuser); } } tasks.RemoveAt(0); } else if (tasks[0] is MessageTask) { var message = tasks[0] as MessageTask; var receiver = message.Receiver; TcpClient connection = null; foreach(User sendmessage in logedinuser) { if(sendmessage.Nickname == receiver) { connection = sendmessage.connection; break; } } var stream = connection.GetStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, message); } } while (tasks.Any()); } } private void Listen() { } } }
Die ganzen Klassen zu posten erspare ich mir hier, man kann sich deren Inhalt ja vorstellen.
LG
Antworten
-
Doppelthread, hier der "richtige":
https://social.msdn.microsoft.com/Forums/de-DE/f1c2747e-0c1e-4599-a1c0-df9e45819958/error-429-in-vb6-unter-win7-bei-createobjectscriptingfilesystemobject
Hallo, das VB6-Programm, um das es geht, wurde entwickelt und läuft seit vielen Jahren, zuerst unter WinXP, seit ca. 3 Jahren auch problemlos unter Win7. Seit kurzer Zeit erhalte ich aber den Fehler #429 "ActiveX Komponente kann nicht erstellt werden", wenn eine Scripting-Anweisung ausgeführt wird, z.B. 'Set fso_obj = CreateObject("Scripting.FileSystemObject")'. Die verwendete und registrierte DLL ist die "scrrun.dll", Version 5.8.7601.18283 vom 12.10.2013. Andere Objekte (z.B. Data Access Objects) funktionieren (immer noch) problemlos. Suchen in allen möglichen Foren brachte bisher keine Ergebnisse, leider. Hat da jemand eine Idee, woran es liegen könnte?
- Bearbeitet LotharClaus Dienstag, 20. Oktober 2015 13:19 Doppelthread
- Zusammengeführt Aleksander Chalabashiev Dienstag, 20. Oktober 2015 14:39 Doppelposting
- Als Antwort markiert R3turnz Freitag, 23. Oktober 2015 19:28
Alle Antworten
-
Doppelthread, hier der "richtige":
https://social.msdn.microsoft.com/Forums/de-DE/f1c2747e-0c1e-4599-a1c0-df9e45819958/error-429-in-vb6-unter-win7-bei-createobjectscriptingfilesystemobject
Hallo, das VB6-Programm, um das es geht, wurde entwickelt und läuft seit vielen Jahren, zuerst unter WinXP, seit ca. 3 Jahren auch problemlos unter Win7. Seit kurzer Zeit erhalte ich aber den Fehler #429 "ActiveX Komponente kann nicht erstellt werden", wenn eine Scripting-Anweisung ausgeführt wird, z.B. 'Set fso_obj = CreateObject("Scripting.FileSystemObject")'. Die verwendete und registrierte DLL ist die "scrrun.dll", Version 5.8.7601.18283 vom 12.10.2013. Andere Objekte (z.B. Data Access Objects) funktionieren (immer noch) problemlos. Suchen in allen möglichen Foren brachte bisher keine Ergebnisse, leider. Hat da jemand eine Idee, woran es liegen könnte?
- Bearbeitet LotharClaus Dienstag, 20. Oktober 2015 13:19 Doppelthread
- Zusammengeführt Aleksander Chalabashiev Dienstag, 20. Oktober 2015 14:39 Doppelposting
- Als Antwort markiert R3turnz Freitag, 23. Oktober 2015 19:28
-
Doppelpost. Antwort im anderen Thread.
- Bearbeitet Stefan FalzModerator Dienstag, 20. Oktober 2015 10:33