Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Внизвопрос по синтаксису.... Найти похожие ветки
← →
Hereticsoul © (2004-08-04 12:44) [0]Уважаемые мастера и мастерицы объясните пожалуйста зеленому почему вэтом коде (на выделеном тексте) компилятор выдает ошибку о том, что он не знает ulist причемв любой другой процедуре или функции в он прекрасно понимает что это "TsTreeView"
unit LongDataTransfer;
/////////////////////////////////////////
interface
uses ScktComp....
type
TMySProc = procedure(const S: AnsiString);
function F1(Socket: TCustomWinSocket; MySProc: TMySProc;SafeCalledStr: string = ""): boolean;
var
InputBuf: string;
InputDataSize: LongWord;
InputReceivedSize: LongWord;
implementation
procedure FlushBuffers;
begin
InputBuf := "";
InputDataSize := 0;
InputReceivedSize := 0;
end;
function ReceiveLongText(Socket: TCustomWinSocket; MySProc: TMySProc;
SafeCalledStr: string = ""): boolean;
var
S: string;
RDSize: LongWord;
F: string[4];
begin
Result := True;
try
if SafeCalledStr = "" then
begin
RDSize := Socket.ReceiveLength;
S := Socket.ReceiveText;
end
else
begin
S := SafeCalledStr;
RDSize := length(S);
end;
if (Length(InputBuf) < 4) and (Length(InputBuf) > 0) then
begin
S := InputBuf + S;
FlushBuffers;
end;
if InputBuf = "" then
begin
F := Copy(S, 0, 4);
asm
mov EAX,dword ptr F[1];
mov InputDataSize,EAX;
end;
if InputDataSize = RDSize - 4 then
begin
InputBuf := Copy(S, 5, RDSize - 4);
MySProc(InputBuf);
FlushBuffers;
Exit;
end;
if InputDataSize < RDSize - 4 then
begin
InputBuf := Copy(S, 5, InputDataSize);
MySProc(InputBuf);
Delete(S, 1, InputDataSize + 4);
FlushBuffers;
ReceiveLongText(Socket, MySProc, S);
Exit;
end;
if InputDataSize > RDSize - 4 then
begin
InputBuf := Copy(S, 5, RDSize - 4);
InputReceivedSize := RDSize - 4;
end;
end
else
begin
if RDSize + InputReceivedSize = InputDataSize then
begin
InputBuf := InputBuf + Copy(S, 0, RDSize);
MySProc(InputBuf);
FlushBuffers;
Exit;
end;
if RDSize + InputReceivedSize < InputDataSize then
begin
InputBuf := InputBuf + Copy(S, 0, RDSize);
InputReceivedSize := InputReceivedSize + RDSize;
Exit;
end;
if RDSize + InputReceivedSize > InputDataSize then
begin
InputBuf := InputBuf + Copy(S, 0, InputDataSize - InputReceivedSize);
MySProc(InputBuf);
Delete(S, 1, InputDataSize - InputReceivedSize);
FlushBuffers;
ReceiveLongText(Socket, MySProc, S);
end;
end;
except Result := False;
end;
end;
end.unit Mainunit;
ulist.Items.Addchild(x,tmp).StateIndex:=0;</B>
.........
type
TForm1 = class(TForm)
Ulist: TsTreeView;
.........
uses LongDataTransfer;
.........
function F2(st1:string):boolean;
var
tmp:string;
x:ttreenode;
begin
......
end;
procedure DataProcessing(S: string);
begin
F2(s);
end;
procedure TForm1.cs1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
F1(cs1.Socket,@DataProcessing);
end;
Заранее благодарю Евгений
← →
Sandman25 © (2004-08-04 12:47) [1]function F2
procedure TForm1.cs1Read
← →
Hereticsoul © (2004-08-04 12:55) [2]2Sandman25 © спасибо ... во меня клинит...:)
Слушай а ты не можешь посоветовать какую-нить литературу по делфи
← →
TUser © (2004-08-04 13:00) [3]На сайте у Анатоли Подгорецкого - куча классной литературы. Прежде всего ТП. Еще есть всякие факи, статьи на этом и других сайтах, хороший сайт такой DelphiWorld и пр.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c