These are chat archives for IndySockets/Indy

16th
Oct 2018
Alpinador
@dixiewarp_twitter
Oct 16 2018 10:02
yes Kudzu.....you're right...... im using it in Editbox where the user types own messages for push SEND button automatically when OnKeypress event
sorry i reffer both....but Remy is right
now chat window runs perfect.....i implement the nickchange and kick events sucesfully
mezen
@mezen
Oct 16 2018 10:05
I hope the user can use shift + enter for multiline messages just as here in Gitter?
Alpinador
@dixiewarp_twitter
Oct 16 2018 10:14
yes good idea
hey friends
here's the code
totally free of bugs
for Rad Studio C++ Builder 10.2.2 Tokio
this is the .H file of Form4
have some other functions on private section like StopStream() and ActualizarControles() but really not needed in this Form4 code.....it's only intended for use with BASS Audio library when i end implementation of sound
Alpinador
@dixiewarp_twitter
Oct 16 2018 10:21
i hope you can have it as someclass of help for if somebody more ask about this subject of IdIRC component
i say it because the version of 10.2.2 Rad studio have some different on some functions from things i see here.... but here in this link is useful information too (is 3 chapters) http://delphiallimite.blogspot.com/2007/09/creando-un-cliente-de-chat-irc-con-indy.html
i'll continue with you this days and sharing more information and code advances i could make
in the evening i'll post here how deal with IdFTP component for if somebody wants know about it
Alpinador
@dixiewarp_twitter
Oct 16 2018 10:26
always all in Rad Studio C++ builder 10.2.2
now i'm going to beach/park with my dogs for daily gaming and walk
mezen
@mezen
Oct 16 2018 13:00

TIdIRC is a multi-threaded component.

So, I guess, you have to use synchronize to access gui elements.

Alpinador
@dixiewarp_twitter
Oct 16 2018 13:01
what you mean mezen?
idSynch component? i dont know for what is
Only the main thread should be allowed to access / modify gui elements
In Delphi I would write:
TThread.Queue(
  procedure
  begin
    ListBox1.Items.Add("Ha entrado el usuario " + ANickname);
  end);
mezen
@mezen
Oct 16 2018 13:08
Most times I prefer TThread.Queue over TThread.Synchronize, but depends on the situation
Remy Lebeau
@rlebeau
Oct 16 2018 16:29
@mezen yes, you will need to sync with the UI thread, one way or the other. @dixiewarp_twitter the IdSync unit is mostly deprecated in the latest Delphi and FPC versions in favor of TThread.Synchronize() and TThread.(Force)Queue(), but it is still maintained for older compiler versions