unit Unit2;
.....중략
var
Form2: TForm2;
implementation
uses Unit4; -----> 이것이 데이모듈의 Pas화일명 입니다.
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
DataModule4.ClientDataSet1.Close;
DataModule4.ClientDataSet1.Params[0].AsString := Edit1.Text;
DataModule4.ClientDataSet1.Open;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
DataModule4 := TDataModule4.Create(Application);
end;
이렇게 해서 Form에 있는 DataSource1의 DataSet을 DataModule4.ClientDataSet1로 하고
DbGrid의 Datasource를 DataSource1와 연결을 하였습니다.
처음에 조회는 되는데 다시 조회를 하면 새로운 내용으로 바뀌지를 않네요.
또한 DataModule를 이용하는 폼을 하나 더 만들어서 사용을 할 경우 처음 폼에서는 조회가
되는데 다음 폼을 열면 조회가 되지를 않네요...
왜 그런지... 어떤분은 DataModule을 닫고 Form생성시 다시 열라고 하셔서
Form2, Form3의 Close()에서 DataModule4.Free를 입력했는데도 제대고 되질 않네요.
다른 의견은 DataModule을 Project에서 다 사용을 하니 DataModule를 전역변수에 넣지 말고
Private에 넣으라고 하는데 이건 무슨 말인지 잘 모르겠고요....
꼭좀 도움을 받고 싶습니다.
예전에 제가 만들었을 때에도 데이타 베이스 관련 부분은 모듈을 사용을 하지 않고 데이타 베이스 자체를 동적으로 생성해서 사용을 했습니다.