Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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;
.........
type
 TForm1 = class(TForm)
 Ulist: TsTreeView;
.........
uses LongDataTransfer;
.........
function F2(st1:string):boolean;
var
tmp:string;
x:ttreenode;
begin
...
ulist.Items.Addchild(x,tmp).StateIndex:=0;</B>
...
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
1-1091522755
П7
2004-08-03 12:45
2004.08.22
Расширенные возможности INI файлов


14-1091803317
panov
2004-08-06 18:41
2004.08.22
Настройка правил сортировки в ProxyPlus.


14-1091544669
NPP_OSI
2004-08-03 18:51
2004.08.22
Выделение и освобождение памяти


6-1087284001
HydraMarat
2004-06-15 11:20
2004.08.22
TIdTCPServer vs TTcpServer


1-1091807061
Spike
2004-08-06 19:44
2004.08.22
Подскажите, как скопировать в Clipboar русский текст...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский