Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

tcp/ip

15K
03 февраля 2006 года
alan_pashi
1 / / 03.02.2006
Господа нашел исходник Рудюк С.А. обмен сообщения по tcp/ip и наткнулся на грабли, сразу хочу отметить что в delphi я новичок, но уж очень чешится, хочется научиться что бы писать софтинки под свои нужды. так вот сами грабли:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ImgList, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient;

type

Tmain_form = class(TForm)
MainMenu1: TMainMenu;
Menu1: TMenuItem;
Options1: TMenuItem;
Info1: TMenuItem;
Exit1: TMenuItem;
Adduser1: TMenuItem;
Search1: TMenuItem;
Help1: TMenuItem;
utprial1: TMenuItem;
About1: TMenuItem;
ComboBox1: TComboBox;
ImageList1: TImageList;
diag1: TMenuItem;
Client: TIdTCPClient;

procedure Exit1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure utprial1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
TCommBlock = record
Command,
MyUserName,
Msg,
ReceiverName: string[100];
ComputerName: String[100];
end;
TEvent_Mesto = procedure(Sender: TObject) of object;
TClientHandleThread = class(TThread)

private
procedure HandleInput;
public
Str: TStrings;
Cli: TIdTCPClient;
protected
procedure Execute; override;
public
CB: TCommBlock;
FEventMest: TEvent_Mesto;
published
property EventMest: TEvent_Mesto read FEventMest write FEventMest;
end;

var
main_form: Tmain_form;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}

procedure Tmain_form.Exit1Click(Sender: TObject);
begin
close;
end;



procedure Tmain_form.About1Click(Sender: TObject);
begin
about_Form.ShowModal;
end;

procedure Tmain_form.utprial1Click(Sender: TObject);
begin
//tutorial_form.ShowModal;
end;

procedure Tmain_form.ComboBox1Change(Sender: TObject);
var
a: string;
ClientHandleThread : TClientHandleThread;
begin
a:= Combobox1.Text;
if a= 'On Line!' then
{123}
//status.ShowModal;
//Client.Host:=DBInfo.IBaseServerName;
Client.Connect(10000); // in Indy < 8.1 leave the parameter away

ClientHandleThread := TClientHandleThread.Create(True);
ClientHandleThread.Cli:=Client;
ClientHandleThread.EventMest:=FEventMess;<-грабли
ClientHandleThread.Str:=status.protocol.Lines;
ClientHandleThread.FreeOnTerminate:=True;
ClientHandleThread.Resume;
//RegComp;

//except
//on
//E: Exception do MessageDlg ('&#206;&#248;&#232;&#225;&#234;&#224; &#239;&#238;&#228;&#234;&#235;&#254;&#247;&#229;&#237;&#232;&#255;:'+#13+E.Message, mtError, [mbOk], 0);


if a= 'Off Line' then
application.MessageBox(PChar(main_form.ComboBox1.Text),
'output:', MB_OK);

end;
end.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог