Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
DLL에서 Form Create하는방법
안녕하세요..
또 질문드립니다. 부탁합니다.
Main 프로그램에서 DLL을 호출하고, DLL에서는 ADD Project로 원하는 폼을
추가후 Main 프로그램에서 DLL을 이용하여 추가된 폼을 CREATE 하는 방법을
알고 싶습니다.
즐거운 하루 되세요..
1
COMMENTS
송기원
•
1999.05.07 20:47
Listing A. MDIForms.dpr
library MDIForms;
uses
SysUtils,
Classes,
Forms,
Windows,
//MDI Child폼의 실제 unit
ChildU in 'ChildU.pas' {ChildForm};
var
DLLApp : TApplication;
procedure MyDLLProc(Reason: Integer);
begin
if Reason = DLL_PROCESS_DETACH then
{ DLL이 메모리에서 내려갈때}
{ 애플리케이션 포인터를 원위치 시킨다. }
if Assigned(DllApp) then
Application := DllApp;
end;
procedure ShowMDIChildForm(MainApp : TApplication);
var
Child : TChildForm;
begin
if not Assigned(DllApp) then
begin
DllApp := Application;
Application := MainApp;
end;
Child := TChildForm.Create(Application.MainForm);
Child.Show;
end;
exports ShowMDIChildForm;
begin
{ DllApp 변수를 초기화 한다. }
DllApp := nil;
DLLProc := @MyDLLProc;
end.
Listing B. MDIForms.dpr
unit MainAppU;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs, Menus;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Test1: TMenuItem;
ShowMDIChild1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
procedure ShowMDIChild1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
{ Import from the DLL. }
procedure ShowMDIChildForm(App : TApplication);
external 'mdiforms.dll';
var
Form1: TForm1;
implementation
{$R *.DFM}
{ Create a child form contained in the DLL. }
procedure TForm1.ShowMDIChild1Click(Sender: TObject);
begin
//DLL함수 호출 부분
ShowMDIChildForm(Application);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
end
델파이 관련 사이트 돌아다니다가 알게된 기법입니다.. 도움이 되시길...
근데 ,.,. 혹시 대구백화점 전산실에 계시는 김성제님이신지요..???
김성제 wrote:
> 안녕하세요..
> 또 질문드립니다. 부탁합니다.
>
> Main 프로그램에서 DLL을 호출하고, DLL에서는 ADD Project로 원하는 폼을
> 추가후 Main 프로그램에서 DLL을 이용하여 추가된 폼을 CREATE 하는 방법을
> 알고 싶습니다.
>
> 즐거운 하루 되세요..
>
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
왕초보
1999.05.07 20:44
0
COMMENTS
/
0
LIKES
Tfield 의 lookup관련 질문??
정남용
•
1999.05.07 19:45
3
COMMENTS
/
0
LIKES
문자를 입력받게 될때...
하윤철
•
1999.05.07 20:36
정남용 wrote: > 문자를 입력받을때 > 마스크에디트를 사용하게 되면 일정한 형식으로 받을수 있는데... ...
한
•
1999.05.07 19:59
정남용 wrote: > 문자를 입력받을때 > 마스크에디트를 사용하게 되면 일정한 형식으로 받을수 있는데... ...
정남용
•
1999.05.07 20:08
> 어떤 상황인지는 모르겠지만, > 보통 추가될때 그렇겠죠? > 그러면 table콤포넌트 이벤트에 보면 > In...
이중현
•
1999.05.07 19:42
1
COMMENTS
/
0
LIKES
에러가 발생했는데 잘모르겠어요..
정재균
•
1999.05.08 00:58
생각보다 간단한 문제인것 같은데요.. 혹시 폼을 닫을때 Table을 Close하셨습니까..? 컴파일시 그전에 ...
이민병
•
1999.05.07 19:37
4
COMMENTS
/
0
LIKES
데이타모듈 사용중 에러발생.
정주영
•
1999.05.08 04:40
이민병 wrote: > 델파이 공부를 시작한지 얼마 안되는데요 > 데이타 모듈을 이용하면 data access관련 컴...
정남용
•
1999.05.07 20:22
DataModule을 사용하는것은 간단합니다... 먼저 New..메뉴를 선택하셔서 DataModule을 만들어요... 그리...
한
•
1999.05.07 19:55
이민병 wrote: > 델파이 공부를 시작한지 얼마 안되는데요 > 데이타 모듈을 이용하면 data access관련 컴...
이민병
•
1999.05.07 23:50
답변 감사합니다. 그런데 updatesql을 쓰는 방법을 잘 모르겠네요. 기존의 방법(책자에 있는)은 수정시 ...
이호선
•
1999.05.07 18:31
1
COMMENTS
/
0
LIKES
Imagelib에대하여..
이정욱
•
1999.05.07 20:21
먼저 Luxent(LightLib)사의 총판은 나이렉스 입니다. LightLib제품군을 구입하실 수는 있지만 기술 지원및...
허정수
•
1999.05.07 17:56
1
COMMENTS
/
0
LIKES
pdf file을 볼수 있는 방법은 없나요???
한
•
1999.05.07 20:03
허정수 wrote: > pdf화일을 프로그램 상에서 로딩할수 있는 방법은 없나요??? > > 알타비스트라는 인터...
이순희
•
1999.05.07 10:20
2
COMMENTS
/
0
LIKES
날짜에 대한 비교
하윤철
•
1999.05.07 20:46
이순희 wrote: > 안녕하세요... > 또다시 질문을 올립니다.. > 이번에는 다름이 아니라.. >...
정남용
•
1999.05.07 19:59
우선 이건 편법임을 알려드립니다... 물론 날짜가 정상적으로 입력되었음을 가정하는 경우구요... 질의 ...
Heaven
•
1999.05.07 09:18
1
COMMENTS
/
0
LIKES
마스크에디트 컴포넌트에 대하여...
유수
•
1999.05.09 22:07
안녕하세요. 마스크 에디트에서 오른쪽 마우스 버턴을 누르면 마스크를 편집할 수 있는 메뉴가 있...
최영호
•
1999.05.07 07:28
2
COMMENTS
/
0
LIKES
메일 프로그램 시작시..
황준동
•
1999.05.17 23:29
최영호 wrote: > 안녕하십니까? > 초보가 질문을 하나 올립니다. > 다름이 아니라 제가 메일 프로그램을...
최영호
•
1999.05.17 21:45
대답할 가치조차 없는 질문인것 같군요....... 여긴 고수들이 많이 있는줄 아는데..... 너무 초보적인 문...
강신구
•
1999.05.07 06:32
3
COMMENTS
/
0
LIKES
TClientSocket의 OnDisconnected시?
이정욱
•
1999.05.07 17:09
또하나 한델 자료실에 가보시면 ICS 최신버전이 있습니다... 테스트 해보지는 못했지만 그것도 괜찬지 않...
이정욱
•
1999.05.07 17:03
델파이 버전이 4이십니까? 그러면 서비스 패치를 하셨는지요? 델파이안의 소켓이 버그가 조금있어서 패치...
강신구
•
1999.05.07 18:42
이정욱 wrote: > 델파이 버전이 4이십니까? > 그러면 서비스 패치를 하셨는지요? > 델파이안의 소켓이 ...
이방인
•
1999.05.07 04:57
1
COMMENTS
/
0
LIKES
이미지를 특정색깔의 톤으로...변환?
송창규
•
1999.05.08 13:00
각 픽셸의 색도를 조정하면 되지요. 보통 하이컬러와 트루컬러에서 픽셸은 R, G, B값으로 구성되는데 이...
이건환
•
1999.05.07 04:30
1
COMMENTS
/
0
LIKES
rs232c polling에 대하여
이정욱
•
1999.05.07 16:58
시리얼 포트를 제어하는 컴포넌트는 상당 수 있습니다. 공개서부터 상용까지~ 델파이 수퍼페이지에 가서 ...
김성제
•
1999.05.07 03:46
1
COMMENTS
/
0
LIKES
DLL에서 Form Create하는방법
안녕하세요.. 또 질문드립니다. 부탁합니다. Main 프로그램에서 DLL을 호출하고, DLL에서는 ADD Project로 원하는 폼을 추가후 Main 프로그램에서 DLL을 이용하여 추가된 폼을 CREATE 하는 방법을 알고 싶습니다. 즐거운 하루 되세요..
송기원
•
1999.05.07 20:47
Listing A. MDIForms.dpr library MDIForms; uses SysUtils, Classes, Forms, Windows, //MDI Child...
황순영
1999.05.07 03:18
0
COMMENTS
/
0
LIKES
프린터 설정 변환(여백)
김지건
•
1999.05.07 03:09
2
COMMENTS
/
0
LIKES
GetModuleUsage라는 api 함수를 아시는 분...
이정욱
•
1999.05.07 16:54
프로그램을 실행시키고 프로그램이 종료될때까지 기다리는 함수 입니다. 참고하세요. function TMainFo...
김지건
•
1999.05.07 18:48
자꾸 여쭤 보아서 정말 죄송한데요?? 전 제가 만든 프로그램이 실행중에 "TalNet.exe"라를 프로그램이...
서영택
•
1999.05.07 00:45
1
COMMENTS
/
0
LIKES
SQL문장에 대해서...
신인재
•
1999.05.07 06:00
서로다른 디비의 조인은 시도 했더니 아래와 같은 결과가 나오는 군요 From절이하를 보시면 이해가 가시리...
엄태효
•
1999.05.07 00:26
2
COMMENTS
/
0
LIKES
프로그램 실행시 전체화면을 장악하려면
유수
•
1999.05.07 00:42
안녕하세요. 게임이 실행될 때 전체 화면을 장악(?)하는 것은 다이렉스X를 이용하기 때문에 가능한 것...
정재균
•
1999.05.08 01:04
헤헤..더 간단하게 해봅시다..전 말로만 설명해드릴께요.. 쩝..지금 델파이가 깔려 있지 않아서리.. 간...
짱구
•
1999.05.06 22:30
1
COMMENTS
/
0
LIKES
팩스를 보내는 방법?
이정욱
•
1999.05.07 16:52
모뎀을 제어하기는 포트만 제어하면 되기때문에 그리 어려운것은 없습니다. 하지만 모뎀의 팩스를 제어하...
왕초보
1999.05.06 21:27
0
COMMENTS
/
0
LIKES
Tfield component의 Lookup property사용용도는??
이호선
•
1999.05.06 20:57
1
COMMENTS
/
0
LIKES
Application Close 시..
안치봉
•
1999.05.06 21:39
이호선 wrote: > 안녕하세요. > 어플리케이션 Close시에 작업표시줄에 Tray가 나타납니다. > 이것을 클...
김성제
1999/05/07 03:46
Views
184
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
library MDIForms;
uses
SysUtils,
Classes,
Forms,
Windows,
//MDI Child폼의 실제 unit
ChildU in 'ChildU.pas' {ChildForm};
var
DLLApp : TApplication;
procedure MyDLLProc(Reason: Integer);
begin
if Reason = DLL_PROCESS_DETACH then
{ DLL이 메모리에서 내려갈때}
{ 애플리케이션 포인터를 원위치 시킨다. }
if Assigned(DllApp) then
Application := DllApp;
end;
procedure ShowMDIChildForm(MainApp : TApplication);
var
Child : TChildForm;
begin
if not Assigned(DllApp) then
begin
DllApp := Application;
Application := MainApp;
end;
Child := TChildForm.Create(Application.MainForm);
Child.Show;
end;
exports ShowMDIChildForm;
begin
{ DllApp 변수를 초기화 한다. }
DllApp := nil;
DLLProc := @MyDLLProc;
end.
Listing B. MDIForms.dpr
unit MainAppU;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs, Menus;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Test1: TMenuItem;
ShowMDIChild1: TMenuItem;
N1: TMenuItem;
Exit1: TMenuItem;
procedure ShowMDIChild1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
{ Import from the DLL. }
procedure ShowMDIChildForm(App : TApplication);
external 'mdiforms.dll';
var
Form1: TForm1;
implementation
{$R *.DFM}
{ Create a child form contained in the DLL. }
procedure TForm1.ShowMDIChild1Click(Sender: TObject);
begin
//DLL함수 호출 부분
ShowMDIChildForm(Application);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
end
델파이 관련 사이트 돌아다니다가 알게된 기법입니다.. 도움이 되시길...
근데 ,.,. 혹시 대구백화점 전산실에 계시는 김성제님이신지요..???
김성제 wrote:
> 안녕하세요..
> 또 질문드립니다. 부탁합니다.
>
> Main 프로그램에서 DLL을 호출하고, DLL에서는 ADD Project로 원하는 폼을
> 추가후 Main 프로그램에서 DLL을 이용하여 추가된 폼을 CREATE 하는 방법을
> 알고 싶습니다.
>
> 즐거운 하루 되세요..
>