Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Dll в Delphi [D5, WinXP]


Olegus ©   (2008-07-07 23:54:00) 

Мужики помогите кто может.
function ShowNotifiPlugin(AHandle, DB_Handle: THandle): PChar;stdcall;
begin
 try
 Application.Handle := AHandle;
 MainFrm := TMainFrm.Create(Application);
 result := PChar(MainFrm.handle);  
 MainFrm.Show;
 except on E: Exception do
   Result := nil;
 end;
end;

при вызове форма не появляется, но в панели задач как бы видно что форма создалась. Если удаляю   Application.Handle := AHandle; то работает но как отдельное приложение со своим дескриптором.


Olegus   (2008-07-09 22:13:00) [1]


> Мужик,тебе был дан материал для изучения в кач-ве "мужицкой
> помощи".
>
> Ты . мужик, этот материал читал ? Изучил ?
> Или не мужицкое это дело ?

А тебе какое дело, если хочешь помоч помоги если нет поищи себе занятие


Сергей М.   (2008-07-09 22:04:00) [2]


> Мужики помогите


Мужик,тебе был дан материал для изучения в кач-ве "мужицкой помощи".

Ты . мужик, этот материал читал ? Изучил ?
Или не мужицкое это дело ?


Olegus   (2008-07-09 21:53:00) [3]


> MainFrm.Show();

подробнее если  можно


Ping-Pong   (2008-07-09 21:38:00) [4]

MainFrm.Show();


Olegus   (2008-07-09 21:14:00) [5]

Вроде обратился по адресу но помоч никто не может


palva   (2008-07-08 20:40:00) [6]


> Я могу ошибаться, но когда-то очень давно в какой-то древней статье...

Наверно в статье Сергея Трепалина http://www.realcoding.net/article/view/680


Сергей М.   (2008-07-08 19:29:00) [7]

Удалено модератором


Olegus   (2008-07-08 19:03:00) [8]


> суть этого трюка в том, чтобы Application в длл было тем
> же, чтои в приложении? ТОгда это не сработает. Надо сам
> Application передавать, а не дескриптор его окна. В общем,
>  неясен смысл манипуляций :)

если подскажете как это сделать (Апликейшн передавать) то цены вам нету ......как специалист:-))
а смысл трюка в том чтобы винда видела одно приложение а не два или больше.


Ega23   (2008-07-08 12:06:00) [9]


> судя по описанию все получилось с точностью до наоборот
> :)
>

Я про передачу Application.Handle

Ну да, сейчас старый-старый проект посмотрел:


function GetPhoto(Dev:Integer;AppHandle:THandle):Integer;
var
Rct:TRect;
{$IFDEF OLYMPUS}
PictureDlg:TTakePictureDlg;
{$ELSE}
aDev:Integer;
{$ENDIF}
begin
{
Моды вызова (Dev):
                       0 - тест,
                       1 - TWAIN,
                       2 - TWAIN с выбором источника
                       3 - OLYMPUS USB

}

Result:=1;
Application.Handle:=AppHandle;

Application.CreateForm(TFPreviewPhoto, FPreviewPhoto);
.....


umbra   (2008-07-08 11:56:00) [10]


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

судя по описанию все получилось с точностью до наоборот :)


Ega23   (2008-07-08 10:25:00) [11]


> суть этого трюка в том, чтобы Application в длл было тем
> же, чтои в приложении?


Я могу ошибаться, но когда-то очень давно в какой-то древней статье так предлагалось сделать, дабы избежать появления формы в панели задач.


umbra   (2008-07-08 10:12:00) [12]


> result := PChar(MainFrm.handle);

мощно :)


> Application.Handle := AHandle;

суть этого трюка в том, чтобы Application в длл было тем же, чтои в приложении? ТОгда это не сработает. Надо сам Application передавать, а не дескриптор его окна. В общем, неясен смысл манипуляций :)


Сергей М.   (2008-07-08 09:42:00) [13]

http://delphimaster.ru/cgi-bin/forum.pl?id=1215171753&n=0


Наверх

Титульная страница Поиск, карта сайта Написать письмо