![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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