Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.02;
Скачать: CL | DM;

Вниз

Как мне "прикрутить" на событие функцию, которая также бы храни   Найти похожие ветки 

 
HaJik   (2008-02-02 00:16) [0]

В dll динамически создается форма с n image внутри, пытался этим image"ам присвоить на onclick поставить какую либо функцию, также харанящуюся в dll, компилятор орет что она неизвестна. Как мне "прикрутить" на это событие функцию, которая также бы хранилась в dll??
уже мозги расплавились:(


 
{RASkov} ©   (2008-02-02 01:35) [1]

> [0] HaJik   (02.02.08 00:16)
> В dll динамически создается форма

и WinApi
не связуются :(
Что за форма, что за Image и почему в ВинАпи? OnClick - это TNotifyEvent?


 
HaJik   (2008-02-02 10:10) [2]

Сам код процедуры в dll похож на этот по части создания обьектов:

function exeico(FileName: string):boolean; //stdcall;
var
 ic: TIcon;
 w, i: integer;
 btn: timage;
 form: tform;
begin
 form:=tform.Create(Application);
 form.Width:= 360;
 form.Height:= 390;
 form.Visible:= true;
 ic:= TIcon.Create;
 w:= 10;
 i:=0;
 while ExtractIcon(Application.Handle,
   PChar(FileName), i) <> 0 do
 begin
   ic.Handle:= ExtractIcon(Application.Handle,
     PChar(FileName), i);
   btn:= Timage.create(form);
   btn.Parent:= form;
   btn.Left:= 35 * (i mod w);
   btn.Top:= 35 * (i div w);
   btn.Tag:= i;
   btn.Width:= 32;
   btn.Height:= 32;
   btn.Stretch:= true;  
   btn.Picture.Icon:= ic;
   //btn.OnClick:= { и вот здесь всегда указывалась функция, которая должна выполняться };
   i:= i + 1;
 end;
 ic.Destroy;
 result:=true;
end;



> В dll динамически создается форма
>
> и WinApi
> не связуются


А вопрос в эту тему засунул, потому что мозги вчера окончательно расплавились


 
{RASkov} ©   (2008-02-02 12:09) [3]

> [2] HaJik   (02.02.08 10:10)
> //btn.OnClick:= { и вот здесь всегда указывалась функция,
> которая должна выполняться };

Здесь не просто функция должна указываться, а метод класса.

А вообще код в [2] странный.... Например вот это:

> btn.Picture.Icon:= ic;

что?


 
ketmar ©   (2008-02-02 12:09) [4]

>и вот здесь всегда указывалась функция, которая должна выполняться
это тебя кто-то обманул. завсегда там был метод.


 
Leonid Troyanovsky ©   (2008-02-02 12:11) [5]


> HaJik   (02.02.08 00:16)

> В dll динамически создается форма

http://www.podgoretsky.com/DM/BadTips.html#BT-03

--
Regards, LVT.


 
ketmar ©   (2008-02-02 12:28) [6]

>А вообще код в [2] странный.... Например вот это:
>>btn.Picture.Icon:= ic;
>что?

ага. а потом ic немножко уничтожается.


 
guav ©   (2008-02-02 18:40) [7]

> [6] ketmar ©   (02.02.08 12:28)

ну и что, у компонетов у published свойств обычно сеттеры с Assign"ом, так что криминала в этом нет.


 
Palladin ©   (2008-02-02 18:49) [8]


> [7] guav ©   (02.02.08 18:40)

кто здесь? где ты видел свойства-события у которых обычно на write назначен сеттер Assign? так что криминал разводить не стоит...


 
guav ©   (2008-02-02 19:05) [9]

> [8] Palladin ©   (02.02.08 18:49)

я про

> [3] {RASkov} ©   (02.02.08 12:09)
> > btn.Picture.Icon:= ic;


 
HaJik   (2008-02-03 02:15) [10]

этот код был состряпан просто в качестве примера, в ic хранится полученая иконка, мозги перестали думать еще в первый день, и когда я к вам обращался, я делал это уже с помощью спинного мозга. ДАк что мне делать?? хоть кто-нибудь ответьте, ведь наверняка уже все уловили идею. А мне надо выспаться... Если завтра проснусь раньше чем наступит вечер, то сяду отвечать на ваши вопросы!


 
{RASkov} ©   (2008-02-03 02:27) [11]

> [10] HaJik   (03.02.08 02:15)
> ДАк что мне делать??

ДАк сказали ужо :(

> Если завтра проснусь раньше чем наступит вечер, то сяду
> отвечать на ваши вопросы!

:) Нификасе, но у нас нет вопросов, ...у меня нет)

> ведь наверняка уже все уловили идею

А то.) И сделали соответствующие замечания, что еще нужно-то?
Кстати самое верное кроется в [5] :)

> А мне надо выспаться...

Приятных снов:)


 
Германн ©   (2008-02-03 02:29) [12]


> HaJik   (03.02.08 02:15) [10]
>
> ... ДАк что мне делать?? хоть кто-нибудь ответьте, ведь
> наверняка уже все уловили идею. А мне надо выспаться...

Выспаться и прочитать ещё раз ответы. В них всё сказано. Особенно в [3].

> мозги перестали думать еще в первый день, и когда я к вам
> обращался, я делал это уже с помощью спинного мозга.

Ну это твоя проблема. Нам тоже много чего нужно, но мы не лезем на форум с протянутой рукой и со словами "мы тут не местные".



Страницы: 1 вся ветка

Текущий архив: 2008.03.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
15-1201506814
toto
2008-01-28 10:53
2008.03.02
ASP3


15-1201616201
data
2008-01-29 17:16
2008.03.02
Как называется устройство или мож кто знает конкретные марки?


2-1202040662
slavon
2008-02-03 15:11
2008.03.02
Освобождение памяти


2-1201803156
@!!ex
2008-01-31 21:12
2008.03.02
Как лучше реализовать ввод горячих клавиш?


11-1184741940
Volterman
2007-07-18 10:59
2008.03.02
Как правильно работать с Timer?