비주얼베이직을 하다가 델파이로 바꿔볼려고 델파이를 공부하고 있는 사람입니다.
그런데 비주얼베이직에서는 DDE를 쉽게 할 수 있었는데 델파이에서는 어렵군요. 자료를 찾아본다고 찾아보았는데도 실력이 없어서인지 잘 모르겠구요. 초보에게 가르침을 부탁드립니다.
엑셀의 셀내용이 인터넷으로 연결되어 있어서 1초단위로 변합니다.
엑셀의 내용을 엑셀로 분석하려니 시간이 너무 많이 걸려서 초단위로 변하는 것을 못따라 갑니다.
그래서 엑셀의 내용을 DDE연결로 델파이로 짠 프로그램과 연결해서 실시간으로 분석하려는데 잘안돼서 질문올립니다.
아래와 같이 코딩하면 엑셀의 각 셀의 내용을 한번은 가져오는데 엑셀의 내용이 변할 때 실시간으로 가져오지를 못합니다.
3개의 셀의 내용이 모두 실시간으로 동적연결이 되어야 하는데 첫번째 아이템인 DdeClientItem1만 실시간으로 변하고 나머지 두개 Item은 실시간으로 변하지를 않습니다.
무엇이 문제일까요?
procedure TForm1.Button1Click(Sender: TObject); //DDE연결
begin
DdeClientConv1.SetLink('Excel','Price');
DdeClientItem1.DdeConv:=DdeClientConv1;
DdeClientItem1.DdeItem := 'R1C1';
DdeClientItem2.DdeConv:=DdeClientConv1;
DdeClientItem2.DdeItem := 'R1C2';
DdeClientItem3.DdeConv:=DdeClientConv1;
DdeClientItem3.DdeItem := 'R1C3';
end;
procedure TForm1.DdeClientItem1Change(Sender: TObject);
begin
Edit1.Text := DdeClientItem1.Text;
end;
procedure TForm1.DdeClientItem2Change(Sender: TObject);
begin
Edit2.Text := DdeClientItem2.Text;
end;
procedure TForm1.DdeClientItem3Change(Sender: TObject);
begin
Edit3.Text := DdeClientItem3.Text;
end;