Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 1

실시간으로 변하는 변수를 다른 프로젝트에서 받아와서 쓸 수 있나요?


del왕

질문

예를 들어 test프로젝트에 uMain.pas가 있고 test1프로젝트가 있을때 이 둘은 전혀 다른 프로젝트입니다. test1에서 uMain.pas에 있는 g1이라는 실시간으로 변하는 변수를 가져와서 쓸수있나요?

있다면 조언 부탁드립니다ㅜㅜ

이 댓글 링크
다른 사이트에 공유하기

1 answer to this question

Recommended Posts

  • 0

네 가능합니다. WIndows 기준

여러가지 방법이 있지만, 저는 SendMessage를 이용하여, 사용하여, 처리하면 될 듯 합니다.

 

 

Delphi 기준

// Project1
procedrue TForm1_MainForm.SendMessage(SendData : String);
var
	RecvHandle : THandle;
	cds : CoyDataStruct;
begin
	RecvHandle := Findwindow('TForm2_RecvForm', '받는 프로그램 폼 캡션');
	if RecvHandle then
	begin
		// 응답받을 프로그램이 실행중
		with cds do
		begin
			dwData := 0;
			cbData := length(SendData) + 1;
			lpData := PChar(SendData);

			SendMessage(RecvHandle, WM_COPYDATA, Form1_MainForm.Handle, Interger(@cds));
			
		end;
	end
	else
	begin
		ShowMessage('응답 받을 프로그램이 실행되어 있지 않습니다.ㅠㅠ');
		// 필수통신일 경우, ShellExecute 를 이용해서 실행처리 후 재처리
	end;
end;

// Project2
procedure RecvMessage(var RecvCds : TWMCopyData); message WM_COPYData

...

procedure TForm2_RecvForm.RecvMessage(var RecvCds : TWMCopyData); 
var
	RecvMsg : String;
begin
	RecvMSg := PChar(RecvCds.CopyDataStruct.lpData);
	ShowMEssage('응답받은 메세지 : ' + RecvMsg);

end;

 

 

참고 사이트 :(msdn) https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage

델파이(VCL)예제 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=backtothefuture&logNo=220489783135

델파이(FMX)일경우 참고 : https://blog.naver.com/haseok4820/222706858852

Edited by Miniuser
이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.