…
как сделать чтобы WriteLog
вводила в мемо
procedure WriteLog(Value:string);
begin
Form1.Memo1.LineAdd(Value);
end;
Вам надо разобраться с областью видимости переменных.
Посмотрел ваш код. Ух жесть.
У вас куча форм куча серверов и у всех один и тот же адрес!
А ещё у вас в коде события Server_OnClick и Server_OffClick не назначены на кнопки.
Да один адрес, но разные порты. Раньше назначены были потом удалил. У меня все переменные глобальные, так проще пользоваться, а отдельный юнит зачем?
У вас несколько форм, у каждой формы свой юнит. В принципе на серверном коде у вас так и сделано два юнита и один инди сервер и этот юнит подкючев в первый. А на клиентском коде тоже два юните и не связаны и на каждой форме по инди-серверу правда в коде один закомментированы.
Соответственно подумал что у вас проблемы в этом месте.
Тем более это могла быть одна из причин почему у вас с memo не получалось.
unit Unit2;
...
uses unit1; // если не подключить, то будет ошибка.
...
procedure WriteLog(Value:string);
begin
unit1.Form1.Memo1.LineAdd(Value);
end;
А вообще лучше пишите, что пробовали сделать и что не получилось. Тогда мне и другим будет проще вам ответить.
думал на счет тсп сервера:
но он выдает такую ошибку:
ввожу свой внешний айпи адрес
был вариант с TSP server однако выло хуже чем UDP вариант с TSP server тоже выложил
Чем хуже-то? Наоборот лучше, сразу сам вывел ошибку о том, что не удалось подключиться.
Почему?
Ну потому, что удалось перемещения нормально все работало и все удавалось. А на TSP так и не удалось нечего дельного сделать.
Ну потому что на TSP до того как я начал программировать его были большие надежды чем на UDP
Так а IP-то почему внешний?
Чтобы с ним работало нужно как минимум настроить port forwarding на роутере, не зависимо от протокола.
что ж удавалось если
После перенесения на флешку, и добавления фтп сервера все сбилось.
вот что пишет если вводить локальный адрес
Сервер и клиент на разных компах?
Может быть например фаервол блокирует.
Или просто не тот IP или порт.
На одном но в последствии планируется на разные.
Приведите код в порядок и приложите сюда последнюю версию.
это что именно?
пробуйте 127.0.0.1
для начала.
Это означает что соединение было откланено. Либо фаервол вас не пустил либо сервер небыл запущен.
Нормально если адресс поменять на 127.0.0.1 то у меня соединяется.
Это вам инди сообщает что вы уже соединились с сервером.
Сделать проверку на повторное нажатие кнопки.
if not IdTCPClient1.Connected then
begin
IdTCPClient1.Connect('127.0.0.1');
end;
Или так:
if not IdTCPClient1.Connected then
begin
IdTCPClient1.Connect('127.0.0.1');
end else
begin
IdTCPClient1.Disconnect;
IdTCPClient1.Connect('127.0.0.1');
end;