...
WinExec(PChar('test.exe'+ ' '+'p1001001'), SW_SHOW);
..
test.exe 라는 프로그램을 실행하는데 p1001001 이라는 메뉴가 있는데 이것을 프로그램실행하면서 p1001001 메뉴를 자동으로 띄우려고 하는데 어디서 이렇게 처리 되는건지를 모르겠습니다. test1.exe 라는 프로그램도 똑같이 위처럼 실행해서 test1.exe 의 메뉴중에 p2002002 라는 메뉴를 띄우려고 하는데 안되네요
아래부분에 메인메뉴 에 코딩이 되었는데 messasg를 받는것 같은데 메시지 정의한 부분이 없거든요
근데 위의 winexec 처럼 파라미터를 넘겨주고 실행하면 아래 p_MenuClick 프로시저가 실행됩니다.
근데 더 이상한것 p_MenuClick 프로시저를 주석처리해도 메뉴가 뜬다는겁니다. 아무래도 다른곳에서 메시지 처리가 이루어 지는것 같은데 찾을수거 없군요
고수님들의 조언 부탁드립니다
procedure TFMnu0701.p_MenuClick(Sender: TObject); //(var Msg: TMessage);
var
i, j: Integer;
lBreak: Boolean;
Reg_Hipis : TRegistryIniFile;
vPgmID: String;
begin
Reg_Hipis := TRegistryIniFile.Create(cstRegIni);
vPgmId := Reg_Hipis.ReadString('Insa', 'PgmID', ''); //폼
gsSttlNo:= Reg_Hipis.ReadString('Insa', 'SttlNo', ''); //전역
Reg_Hipis.WriteString('Insa', 'PgmID', '');
Reg_Hipis.WriteString('Insa', 'SttlNo', '');
Reg_Hipis.Free;
if vPgmID <> '' then
begin
lBreak := false;
for i := 0 to FMnu0701.MM_MainMenu.Items.Count - 1 do
begin
for j := 0 to FMnu0701.MM_MainMenu.Items.Items[i].Count - 1 do
begin
if FMnu0701.MM_MainMenu.Items.Items[i].Items[j].Hint = vPgmID then
begin
lBreak := true;
break;
end;
end;
if lBreak then Break;
end;
if lBreak then
FMnu0701.MM_MainMenu.Items.Items[i].Items[j].Click;
end;
end;
파라매터 처리는 보통 프로젝트 소스나 메인폼의 Create, OnCreate, OnShow, OnActavate등에서 합니다.
이부분을 살펴보세요...
^^ 항상 즐코하세요...