1-1. VCL의 TThread를 사용하신다면 Synchronize로 안전하게 SendMessage날릴 수 있습니다.
물론 메세지처리시간만큼 쓰레드는 대기하죠.
받은 폼에서 사용하고 free하시면 됩니다.
1-2. api를 사용하신다면 아래 답변처럼 waitobject참고하세요.
2. 다른 프로세스와 데이터 공유는 생각하시는 파일공유, 메모리맵공유등등 몇가지 방법이 있는데
-전달해야될 양이 많고 속도가 중요하다면 메모리맵으로
-핸들만 넘기실거면 편하게 파일로
-플랫폼과 차후 응용성을 겸비하시려면 소켓통신으로 넘기세요.
3. 파라메타를 받아서 실행한다는 의미가
delphi.exe -ab -bc 이렇게 -ab와 -bc를 구하시고 싶은신거가요?(이건 너무 쉬워서 제가 잘못 해석한건지 ㅎㅎ)
암튼 이것은 ParamStr(0), ParamStr(1)등을 참고하시면 됩니다.
김초보 님이 쓰신 글 :
: 실행중인 쓰레드에서 포인트 구조체에 메모리를 할당한 후SendMessage를 이용해 MainForm으로 전달하려 합니다.
: 이 때 쓰레드에서 할당 된 메모리를 MainForm에서 메모리 해제를 해도 상관이 없는지 궁금합니다.
:
: 한가지 더 질문 사항!! 다른 프로그램과 윈도우메시지를 주고받고픈데 그럴려면 상대 프로그램의 윈도우 핸들 정보를
: 알아야 할텐데 그걸 어떻게 주고 받나요?
: 일단 제 생각에는 임시 텍스트 파일에 핸들정보를 입력해서 공유하거나 해당 프로그램을 실행 파라메터로 넘겨준다던지
: 방법밖에 생각이 나지 않는데 다른 깔끔한 방법은 어떤것 들이 있을까요?
: 그리고 델파이에서 프로그램을 실행할 때 파라메타를 받아서 실행하는 방법도 궁금합니다.
|