Seite 2 von 2

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 05.01.2012 02:51
von Kiffi
SpecialDXX hat geschrieben:Doch sie ließt jeden Parameter richtig aus.
Jeden Parameter? Thread-Prozeduren haben nur einen Parameter.

Ausserdem: Wie kannst Du obige Aussage treffen, wenn schon
der Aufruf der Prozedur bei Dir fehlschlägt?

Nochmal zum Mitschreiben:

Code: Alles auswählen

Procedure myThread()
EndProcedure

CreateThread(@myThread(), 42)
... erzeugt genau den Fehler, den Du beschrieben hast.

Code: Alles auswählen

Procedure myThread(dummy)
EndProcedure

CreateThread(@myThread(), 42)
... hingegen funktioniert fehlerfrei.

Grüße ... Kiffi

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 05.01.2012 20:59
von SpecialDXX
Ja, ich weiß, dass ich nur einen übergeben kann. Deswegen habe ich alles in "einen" gepackt! Siehe Codes!

Aber wie löse ich Problem 2., haste da ne idee?

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 05.01.2012 21:09
von RSBasic
@SpecialDXX
Was für einen Datentyp hat denn dein Parameter in deiner Parameterliste deiner Thread-Prozedur?
Wie ich bereits gesagt habe, darfst du bei Threads keinen String direkt übergeben.

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 05.01.2012 23:54
von SpecialDXX
ja, ich habs verstanden und werde es noch änder'n ! Danke! Aber ich muss das 2. Problem mit dem Nachrichtenverteilen ersteinmal lösen.

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 06.01.2012 01:27
von Bisonte

Code: Alles auswählen

Structure Chat_Partner
  
  Window.i
  GadgetWoNachrichtenStehen.i
  Name.s
  Empfang.s
  ; und was weiss ich noch alles 
EndStructure

Global NewList ChatPartner.Chat_Partner()

Procedure Nachrichtenempfang()
  
  ; hier kommt deine Routine für ReceiveNetworkData()
  ; und nun das verteilen auf die Fenster
  
  ForEach ChatPartner()
    If SendenderUser$ = ChatPartner()\Name
      ChatPartner()\Empfang = EmpfangeneNachricht
      ;wenn ich davon ausgehe das es ein Editorgadget oder ListIconGadget ist...
      AddGadgetItem(ChatPartner()\GadgetWoNachrichtenStehen, -1, ChatPartner()\Empfang)
      Break
    EndIf
  Next
        
EndProcedure
so ungefähr das Prinzip das ich am Anfang mit der Linkliste meinte...
Natürlich sollte man auch prüfen ob das Gadget oder Window überhaupt vorhanden ist usw...
Wie gesagt, nur ein Modell.
Da es eine Linklist ist, muss man vorher nicht wissen wieviele ChatPartner da sind, wenn ein neuer kommt,
AddElement(), wenn einer geht, DeleteElement() (ganz grob gesagt....)

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 11.01.2012 21:20
von SpecialDXX
Also, seit Tagen probier ich einiges herum... meinst ohne erfolg bzw. ständigen Fehler angefangen von Nachrichten einfügen auf falsche Fenster bishin zum Absturz des Programms... Mitlerweile habe ich alle Versuche über Board geschmießen und bin jetzt wieder am Ausgangspunkt. Ich komm einfach nicht mit dem Nachrichtenemfang weiter.

Hat vielleicht noch jemand eine Idee oder kann er es in Codestücke wiedergeben?
Ihr werd mir eine große Hilfe.

---
PB4.5 32Bit

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 21.01.2012 17:57
von SpecialDXX
Da sich noch keiner darauf gemeldet hat, versuche ich es noch einmal: Hat vielleicht noch jemand eine Idee oder kann er es in Codestücke wiedergeben?

Re: Theard Window / Chatfenster / Nachrichtenemfang

Verfasst: 22.01.2012 02:47
von Bisonte
SpecialDXX hat geschrieben:... oder kann er es in Codestücke wiedergeben?...
Wenn Du deinen Versuch (komplett und lauffähig und nicht nur Stückchen...) mal präsentieren würdest (der die Fehler produziert), könnte man evt. die Fehler aufzeigen...
So aber stochert man in der Luft, und Mama hat gesagt das macht man nicht ;)