Есть базовый класс. Code: TMregister = class private FSend : Thttp; FMailLogin : string; FMailPass : string; FResp : string; FPostData : string; FCookie : Tcookie; FUaArray : StringArray; FMailSeperator : string; procedure SetProxy (ProxyStr : string); procedure SetMail (MailStr : string); procedure SetUAArray (Arr : StringArray); procedure Main; virtual; abstract; procedure ParseToken; virtual; abstract; procedure ConfimMail; virtual; abstract; public property Mail : string write SetMail; property Proxy : string write SetProxy; property UaArray : StringArray write SetUAArray; property MailSeperator : string write FMailSeperator; Constructor Create; Constructor Free; end; Есть наследник от него. Code: type TChatRegger = class(TMregister) private procedure Main; public procedure ff; Constructor Create; Constructor Free; end; Пытаюсь из процедуры main обратиться к Fsend. Code: procedure TChatRegger.main; begin Fsend; end; Вылетает, Code: [DCC Error] ChatRegger.pas(31): E2003 Undeclared identifier: 'FSend' Как так??? Вроде правильно наследуюсь....
Спасибо, но мин назад сам это понял, прочитал про области видимости вчитался и пришло прозрение. Неправильно я private понимал)
if (StringGrid1.Cells[3,1]>=100 and StringGrid1.Cells[4,1] > 1) then StringGrid1.Rows[1].clear; [Error] Unit1.pas(97): Incompatible types: 'String' and 'Integer' в столбцах тип интеджер указан а рабоать не хочет(
вот так правильнее: Code: if (StrToInt(StringGrid1.Cells[3,1][COLOR=Green])[/COLOR]>=100) and [COLOR=Green]([/COLOR]StrToInt(StringGrid1.Cells[4,1][COLOR=Green])[/COLOR] > 1)
после этого кода вот такая ошибка [Error] Unit1.pas(97): Operator not applicable to this operand type что то чуствую что то связано с StrToInt
код для автоматического открытия браузера, переход по определенной сылке в том же браузере.. Помогите)
В memo есть определенный текст. Подскажите пожалуйста, как сделать, чтобы при нажатии на кнопку искалось определенное слово из этого текста в memo?
Парни, дайте пожалуйста у кого есть библиотеки ssleay32.dll и libeay32.dll для компонента TIdSSLIOHandlerSocket, использую дельфи 7, немогу найти нужные, выскакивает could not load ssl library.
Использую простой пример гет запрос через винсокс: Code: procedure TForm1.Button1Click(Sender: TObject); var sock: WSAData; socket1: TSocket; addr: TSockAddr; buff1: string; buff2: array[1..1024] of char; i,d: integer; begin if WSAStartup(MAKEWORD(2,2),sock)<>0 then begin ShowMessage('Error inicialization'); Exit; end; socket1:=Socket(AF_INET,SOCK_STREAM,0); if socket1 = INVALID_SOCKET then begin ShowMessage('Error'); Exit; end; addr.sa_family:=AF_INET; addr.sin_addr.S_addr:=inet_addr(PChar('87.250.251.3')); addr.sin_port:=htons(80); if connect(socket1,addr,SizeOf(addr))<>0 then begin ShowMessage('Error connect'); Exit; end; Buff1:='GET / HTTP/1.1'#13#10+ 'host: ya.ru'#13#10+ 'Connection: close'#13#10+#13#10; if send(socket1,buff1[1],length(buff1),0)=SOCKET_ERROR then begin ShowMessage('Error sender'); Exit; end; repeat FillChar(buff2,SizeOf(buff2),0); d:=Recv(socket1,buff2,SizeOf(buff2),0); for i:=1 to d do begin memo1.Text:=memo1.Text+Utf8ToAnsi(buff2[i]); end; until d<=0; if CloseSocket(Socket1)<>0 then ShowMessage('Error closing'); end; Проблема в том, что исходный код добавляется в мемо только через 2 минуты + цп подлетает. Никак не могу понять в чем причина. Помогите пожалуйста.
а теперь чуть комментов к коду: PHP: repeat // "почистили" буфер FillChar(buff2, SizeOf(buff2), 0); // читаем из сокета, функция возвращает количество прочитанных байт, // но иногда, при ошибках, бывает, что возвращается не ноль, // а полная хрень, число явно больше буфера под данные d:= Recv(socket1, buff2, SizeOf(buff2), 0); // а теперь конвертируем посимвольно буфер из utf8 и добавляем // все это в мемо %) for i:=1 to d do begin memo1.Text:=memo1.Text + Utf8ToAnsi(buff2[i]); end; // повторяем все безобразие пока d <= 0 until d<=0; печаль...
Как сделать, чтобы программа работала ТОЛЬКО из трея в делфи? Чтобы была возможность закрывать программу, открывать окна и т.д.