Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
MDI내에서...
MDI폼에서 두개의 Form을 띄워 놓구, Form1에서 Form2로 어떤 값을 던져 주면
Form2에서 그 값을 받자 마자 어떤 작업을 실행하고..
이런식으로 작업을 진행하려고 하는데..
이런경우에도 SendMessage가 되는지..
글구 어떤식으로 써야되는지. 좀 알려 주세요..
잘 안되네요. ㅠㅠ
3
COMMENTS
박덕신
•
2001.11.19 22:29
델초보 wrote:
> MDI폼에서 두개의 Form을 띄워 놓구, Form1에서 Form2로 어떤 값을 던져 주면
>
> Form2에서 그 값을 받자 마자 어떤 작업을 실행하고..
>
> 이런식으로 작업을 진행하려고 하는데..
>
> 이런경우에도 SendMessage가 되는지..
>
> 글구 어떤식으로 써야되는지. 좀 알려 주세요..
>
> 잘 안되네요. ㅠㅠ
이건 해 보지는 않은건데.....
혹시 이렇게 하면 어떨까요....
Form1에서 Form2의 내용을 넘길때...Function을 호출해서..
그에 대한 실행 루핑을 돌리면 될 것 같은데...
그리고 두 개의 폼이 모두 메모리에 올라와 있다면....그 값을 넘기는건
문제가 되지 않는것으로 알고 있는데....
일반 SDI에서는 메로리 관리하는데 별로 신경을 써 주지 않아도 되지만...
MDI 방식에서는 그보다 더 메로리라든가 STACK MEMORY 를 사용함에 있어 반드시
메로리 해제를 해 주어야 한다는것을 잊지 마세요...
참고로 아래 문장은 폼을 MDI 방식으로 콜하는 방식입니다....
function FormCall(var F: TForm; A: TFormClass): Boolean;
var
i : Integer;
MainForm: TForm;
ChkName: String;
begin
Result := True;
Screen.Cursor := crHourGlass;
ChkName := A.ClassName;
MainForm := Application.MainForm;
with MainForm do
begin
// 실행된 MDI Child Window가 있다면
if MDIChildCount > 0 then
begin
// 실행된 MDI Child Window의 수만큼 체크 한다.
for i := 0 to MDIChildCount - 1 do
// 실행된 MDI Child Window가 현재 실행하려는 Window와 같으면
if MDIChildren[i] = F then
begin
// Minimized 상태라면 Normal상태로 만들고
if MDIChildren[i].WindowState = wsMinimized then
MDIChildren[i].WindowState := wsNormal
else
MDIChildren[i].BringToFront;
Screen.Cursor := crDefault;
Exit;
end;
end;
end;
Application.CreateForm(A, F);
Screen.Cursor := crDefault;
end;
호출할때는...
FormCall(TFORM(Form1), TForm1);
이런식으로 하면 됩니다.....
참고로 하세요....저는 이 구문을 Function모음에 모아 놓고 사용합니다...
그럼 즐코 하세요....
0
0
삭제
수정
댓글
델초보
•
2001.11.19 23:27
저...
Form1과 Form2를 나눠서 말이져...
Form1에서는 받은자료를 직접 디비에 Write하지 않고, text로 보관까지만 하구..
Form2에게 Form1이 '나 Text저장 다 했다!!'일케 신호를 보내면, Form2가 그걸받아서
Text -> DB로 저장하게 하려고 하거든요. 만약 Form2의 함수를 호출한다는 건..
Text->DB로 저장하는거 까지 Form1에서 확인하게 되는거니까..
아예 별개로 돌아가게 하고 싶거든요..
즉 Form2는 마치 BackGround 프로그램 처럼 Hide시켜 뒷단에서 돌아가게 할
생각이거든요...
ㅠㅠ...
다시한번만 봐 주세요.
0
0
삭제
수정
댓글
델초보
•
2001.11.20 01:21
그냥 BackGround Form의 에디트박스에 던져주구 Change체크하면 되는군여..
ㅠㅠ 넘 간단한걸갖구 고민했당.. ㅠㅠ
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
초보 ( / '')/
•
2001.11.20 02:01
3
COMMENTS
/
0
LIKES
고수님들께.....
초보 ( / '')/
•
2001.11.20 03:48
감사합니다.....고수님들덕분에.... ^^ 즐프하세엽~
^^;
•
2001.11.20 03:27
자료실,팁모아에 찾아들어가문 있어염... 구람..즐프하세염.. 초보 ( / '')/ wrote: > 고수님들 이...
이성훈
•
2001.11.20 02:29
초보 ( / '')/ wrote: > 고수님들 이거 꼭좀 부탁 드립니다. > 잘 몰라서 그러는데델파이로 주민등록...
제로맨
•
2001.11.20 01:42
1
COMMENTS
/
0
LIKES
[오라클]config error
최성진
•
2001.11.20 02:01
net8에서 설정후 test가 있는데 그기서 연결이 되나요??? 만약 안된다면 db가 start됐는지?? lsnrctl를...
정진만
2001.11.20 01:36
0
COMMENTS
/
0
LIKES
GMT 구하는 겁니다
정용광
2001.11.20 01:08
0
COMMENTS
/
0
LIKES
sheet값 참조하기
초보델피언....
•
2001.11.20 01:13
1
COMMENTS
/
0
LIKES
텍스트파일의 한라인 길이나 크기 구하기???
이성훈
•
2001.11.20 02:49
읽어온 스트링의 길이를 구하려면 if Length(S) = (원하는 길이) then Begin =============소스...
훈
2001.11.20 00:57
0
COMMENTS
/
0
LIKES
Menu의 Items의 이동 혹은 정렬은 어떻게 할 수 있죠?
홍인숙
2001.11.20 00:38
0
COMMENTS
/
0
LIKES
델파이6]컴포넌트 paste가 제대로 안되여~
우나기
•
2001.11.20 03:53
1
COMMENTS
/
0
LIKES
어떤 DB 테이블안에 코드필드의 번호를 이용하여 번호에 맞는 데이타 뽑아내기
아폴론
•
2001.11.20 05:00
우나기 wrote: > 어떤 Table에서 Number Code Field, Value Field가 있다고 한다면 > > Number Code |...
강영태
2001.11.20 00:18
0
COMMENTS
/
0
LIKES
USB포트에 장착되어 있는 장비를 검색할려하는데 부탁합니다.
허접의 질문
•
2001.11.20 00:17
1
COMMENTS
/
0
LIKES
배열에서 헷갈려서요.
최성진
•
2001.11.20 00:21
1byte요.. 허접의 질문 wrote: > 님들아 여기서 > > cmd : array[0..1] of char; > > 여기서 1바...
정용광
2001.11.20 00:06
0
COMMENTS
/
0
LIKES
f1book에서 sheet에 파일불러오기????
전짱
•
2001.11.19 23:49
1
COMMENTS
/
0
LIKES
[에러 관련 질문] Could not create output file
최성진
•
2001.11.20 00:02
제 생각에는요... 공부하면서 CD에 있는것을 하드에 복사하여 실행하신것같은데요 컴파일하면서 dcu파일...
choobg1
2001.11.19 23:44
0
COMMENTS
/
0
LIKES
퀵 리포트 사용시... 급해요... 부탁...
staryong
2001.11.19 23:42
0
COMMENTS
/
0
LIKES
윈도우 탐색기와 같은 TreeView 를 만들려면 어떻게 해야 하나요?
겅부하는 넘
•
2001.11.19 23:34
1
COMMENTS
/
0
LIKES
mp3 플레이어를 만들고 싶어요...
조규춘
•
2001.11.20 12:24
겅부하는 넘 wrote: > mp3 플레이어를 만들어 보고 싶은 처버 임니다.. > 수거 스럽겠지만, 충고라던지 ...
올타꾸나
2001.11.19 23:25
0
COMMENTS
/
0
LIKES
Locate함수에 대해..
green15
•
2001.11.19 21:40
2
COMMENTS
/
0
LIKES
답변진심으로 감사드립니다. moveby에 변수를 사용할수 없습니까?
김지엽
•
2001.11.19 22:29
for i := 1 downto (stringgrid.rowcount -1) do 라고 써야 하지 않을까요? green15 wrote: > Moveby(-...
최성진
•
2001.11.19 23:12
어짜피 for문안에서는 자동증가입니다. 임의로 증가변수(i)를 변경시 에러발생합니다. 따라서 for i...
보라
•
2001.11.19 21:18
2
COMMENTS
/
0
LIKES
ActiVex에서 퀵리포트를 작성중..문의..
박덕신
•
2001.11.19 22:15
보라 wrote: > QRDBTEXt에서 autostretch = true 를 해서 뿌려줄 Data가 있는데.. > autostretch를 True ...
보라
•
2001.11.19 22:53
박덕신 wrote: > 보라 wrote: > > QRDBTEXt에서 autostretch = true 를 해서 뿌려줄 Data가 있는데.. > ...
델초보
•
2001.11.19 21:14
3
COMMENTS
/
0
LIKES
MDI내에서...
MDI폼에서 두개의 Form을 띄워 놓구, Form1에서 Form2로 어떤 값을 던져 주면 Form2에서 그 값을 받자 마자 어떤 작업을 실행하고.. 이런식으로 작업을 진행하려고 하는데.. 이런경우에도 SendMessage가 되는지.. 글구 어떤식으로 써야되...
박덕신
•
2001.11.19 22:29
델초보 wrote: > MDI폼에서 두개의 Form을 띄워 놓구, Form1에서 Form2로 어떤 값을 던져 주면 > > For...
델초보
•
2001.11.19 23:27
저... Form1과 Form2를 나눠서 말이져... Form1에서는 받은자료를 직접 디비에 Write하지 않고, text...
델초보
•
2001.11.20 01:21
그냥 BackGround Form의 에디트박스에 던져주구 Change체크하면 되는군여.. ㅠㅠ 넘 간단한걸갖구 고민...
roboj
2001.11.19 20:50
0
COMMENTS
/
0
LIKES
MDI 에서 CHILD 폼들에게 메세지 BROAD.
델초보
2001/11/19 21:14
Views
237
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> MDI폼에서 두개의 Form을 띄워 놓구, Form1에서 Form2로 어떤 값을 던져 주면
>
> Form2에서 그 값을 받자 마자 어떤 작업을 실행하고..
>
> 이런식으로 작업을 진행하려고 하는데..
>
> 이런경우에도 SendMessage가 되는지..
>
> 글구 어떤식으로 써야되는지. 좀 알려 주세요..
>
> 잘 안되네요. ㅠㅠ
이건 해 보지는 않은건데.....
혹시 이렇게 하면 어떨까요....
Form1에서 Form2의 내용을 넘길때...Function을 호출해서..
그에 대한 실행 루핑을 돌리면 될 것 같은데...
그리고 두 개의 폼이 모두 메모리에 올라와 있다면....그 값을 넘기는건
문제가 되지 않는것으로 알고 있는데....
일반 SDI에서는 메로리 관리하는데 별로 신경을 써 주지 않아도 되지만...
MDI 방식에서는 그보다 더 메로리라든가 STACK MEMORY 를 사용함에 있어 반드시
메로리 해제를 해 주어야 한다는것을 잊지 마세요...
참고로 아래 문장은 폼을 MDI 방식으로 콜하는 방식입니다....
function FormCall(var F: TForm; A: TFormClass): Boolean;
var
i : Integer;
MainForm: TForm;
ChkName: String;
begin
Result := True;
Screen.Cursor := crHourGlass;
ChkName := A.ClassName;
MainForm := Application.MainForm;
with MainForm do
begin
// 실행된 MDI Child Window가 있다면
if MDIChildCount > 0 then
begin
// 실행된 MDI Child Window의 수만큼 체크 한다.
for i := 0 to MDIChildCount - 1 do
// 실행된 MDI Child Window가 현재 실행하려는 Window와 같으면
if MDIChildren[i] = F then
begin
// Minimized 상태라면 Normal상태로 만들고
if MDIChildren[i].WindowState = wsMinimized then
MDIChildren[i].WindowState := wsNormal
else
MDIChildren[i].BringToFront;
Screen.Cursor := crDefault;
Exit;
end;
end;
end;
Application.CreateForm(A, F);
Screen.Cursor := crDefault;
end;
호출할때는...
FormCall(TFORM(Form1), TForm1);
이런식으로 하면 됩니다.....
참고로 하세요....저는 이 구문을 Function모음에 모아 놓고 사용합니다...
그럼 즐코 하세요....