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

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

панель задач и формы в Dll


Koala ©   (2004-10-27 18:39:00) 

Как сделать, что бы при вызове формы из Dll она не отображалась в панеле задач.
за ранее спасибо


Koala   (2004-10-28 11:34:00) [1]

Ega23 ©   (27.10.04 19:01) [3]
Огромное спасибо... Помогло...


Ega23   (2004-10-27 19:01:00) [2]

Грубо говоря, если у тебя есть форма в ДЛЛ, то у неё есть свой объект TApplication. У вызывающей эту форму программы этот экземпляр, естественно, другой. Поэтому:

DLL:

ibrary PhotoSource;
uses
 Windows,
 Messages,
 SysUtils,
 Classes,
 Graphics,
 Controls,
 Forms,
 Dialogs,
 uPreviewCard in 'uPreviewCard.pas' {FPreviewCard},
 uPreviewPhoto in 'uPreviewPhoto.pas' {FPreviewPhoto},
 MultiTWAIN in 'MultiTWAIN.pas',
 uTTPL in 'uTTPL.pas',
 uTTIFF in 'uTTIFF.pas',
 uTIFFConstants in 'uTIFFConstants.pas',
 uTools in 'uTools.pas',
 uDialogBox in 'uDialogBox.pas' {FDialogBox},

{$IFNDEF OLYMPUS}
 uEGLib in '..\..\CommonUnits\uEGLib.pas';
{$ELSE}
 uEGLib in '..\..\CommonUnits\uEGLib.pas',
 TakePicDlg in '..\OLYMPUS-USB\TakePicDlg.pas' {TakePictureDlg},
 CamSetDlg in '..\OLYMPUS-USB\CamSetDlg.pas' {CameraSettingsDlg},
 CamShared in '..\OLYMPUS-USB\CamShared.pas',
 Memory in '..\OLYMPUS-USB\Memory.pas',
 RyeCommon in '..\OLYMPUS-USB\RyeCommon.pas',
 WaitDlg in '..\OLYMPUS-USB\WaitDlg.pas' {WaitDlg};
{$ENDIF}  

{$R *.RES}

//*************************************************************************************

function GetPhoto(Dev:Integer;H:HWND):Integer; StdCall;
begin
Result:=uPreviewPhoto.GetPhoto(Dev,H);
end;

//*************************************************************************************

exports
GetPhoto       name    'GetPhoto',
PrintCard      name    'PrintCard';

begin
end.

unit uPreviewPhoto

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);

........


Koala   (2004-10-27 18:52:00) [3]

Ega23 ©   (27.10.04 18:46) [1]
а примерчик можно...? плз...


Ega23   (2004-10-27 18:46:00) [4]

Экземпляр TApplication твоей DLL приравняй Appication'у твоей программы.
Например.


Наверх

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