
12.05.2010, 16:38
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 97
С нами:
8707843
Репутация:
15
|
|
однако меня этот uses Forms; не улыбает вовсе
Раз не нравится сделай панель в памяти по данным dfm файла твоего диалога(всё ручками), потом с winapi создавай обычное окно без заголовка и через Windows.SetParent на то окно лепи панельку.
P.S. Если уж делаешь компонент, то делай универсальнее и более гибкий код. Кстати вышеуказаный код должен быть в таким
Код:
// ---- Вывод диалога ввода кода капчи ----
procedure TidVKClient.ShowCaptchaDialog(const captcha_sid: string; const notice : String = 'Enter Code');
var
MS : TMemoryStream;
Jpg : TJpegImage;
begin
Ms := TMemoryStream.Create;
Jpg := TJpegImage.Create;
try
Get('http://vkontakte.ru/captcha.php?s=1&sid=' + captcha_sid, Ms);
Ms.Position := 0;
Jpg.LoadFromStream(ms); {при не правльных данных здесь может вылезть эксцепшн}
//DlgForm.imgKey.Picture.Graphic := Jpg; {не верно, нужно делать через Assign, ибо будет утечка памяти и при хз что будет когда Jpg сделают Free}
DlgForm.imgKey.Picture.Assign(Jpg); {Делфи под боком нет, так что не помню, на Graphic или сразу на Picture Assign делать)}
finally
Jpg.Free;
Ms.Free;
end;
DlgForm.Caption := notice;
DlgForm.ShowModal;
end;
|
|
|