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