Q&A

  • ActiveX와 DataModule을 사용하시는 분들....
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에 넣으라고 하는데 이건 무슨 말인지 잘 모르겠고요....
꼭좀 도움을 받고 싶습니다.
2  COMMENTS
  • Profile
    오정훈 2005.01.05 01:28
    ActiveX를 만드시려면 데이타 베이스 관련해서는 제약이 많습니다.
    예전에 제가 만들었을 때에도 데이타 베이스 관련 부분은 모듈을 사용을 하지 않고 데이타 베이스 자체를 동적으로 생성해서 사용을 했습니다.


  • Profile
    하얀까마귀 2004.12.28 07:58
    안녕하세요 하얀까마귀 입니다.

    ActiveX 개발할때 조심해야될 부분이..

    IE의 특성이 새창을 열때 새로운 프로그램이 실행되는것처럼 보이지만 실제로는 새로운 프로그램이 아니라 같은 프로그램상에서 창만 하나 더 열리는 겁니다...

    음. 그러니까. 프로그램의 전역변수로 선언해 둔건 창은 달라보이지만 같은 영역을 사용할수 있다는거죠.

    그래서 뭐 다시 열거나 새로 생성을 하거나 아니면 전역에 넣지 말라고 한거 같네요..

    같은 DM의 같은 DataSource를 쓴다고 가정해보고 소스를 다시 살펴보시면 이해가 되시리라 생각합니다.

    ctrl+N 이나 IE 상에서 새창으로 열만 아마 모두 같은 창일껍니다.

    바탕화면의 IE를 두번 실행하는거랑은 다르죠..

    아마 거기서 생기는 문제로 보이네요... 소스를 찬찬히 살펴보시고 ActiveX는 일반 C/S 모듈과는 좀 다르게 설계를 하셔야 할것으로 압니다.

    전 처음에 c/s로 개발해서 activeX로 옮기다가 거의 돌아버릴뻔한 기억이. ㅎㅎ





    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.30 19:35
      Win32에 TImageList 란 컴포넌트가 있지요... 걸 활용하면 됩니다.
    • 최용일
      2004.12.30 01:03
      안녕하세요. 최용일입니다. 컴포넌트패키지의 requires절에 designide.dcp를 추가해주세요. 델파이 L...
    • 초보의눈물
      2004.12.30 03:12
      designide는 이미 추가가 되어있습니다.-_-; 또 designide를 designide.dcp로 위 컴포넌트 패키지에 추...
    • 최용일
      2004.12.30 18:56
      안녕하세요. 최용일입니다. Proxies 유닛 문제는 이미 해결 방법이 나와 있어서 여기저기 몇번 검색만 ...
    • 오익환
      2004.12.29 17:59
      Acu Cobol이면 Vutil.exe를 사용하시면 됩니다.
    • 황유동
      2005.01.18 17:07
      감사합니다~ ^^
    • 기형종
      2004.12.30 01:11
      안녕하세요 문의하신 내용을 VB로 표현하면 아래와 같습니다. Selection.Font.Name = "돋움체" Select...
    • Jeeeeeeeeeep
      2004.12.30 03:40
      네..그걸 델파이로 바꾸면 되는거까진 알겠느데.. 델파이로 바꾼걸 좀 올려주시면 안될까요..;;; 부탁요^...
    • 기형종
      2004.12.31 02:48
      간단한 예제소스입니다. 먼저 폼위에 TWordApplication 컴포넌트를 떨구고 시작하십시요. procedure TF...
    • Jeeeeeeeeeep
      2004.12.31 05:18
      잘되는군요^^ 감사감사^^ 답변 고마워여 잘볼꼐요..^^ 다음번에도 모르는것 있으면 부탁해요^^ㅎ
    • 누룽지
    • 2004.12.28 20:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.12.29 00:05
      안녕하세요. 최용일입니다. 서브클래싱해보세요... type     TForm1 = class(T...
    • 누룽지
      2004.12.29 01:01
      귀찮으셨을텐데 소스까지 친절하게 올려주셔서 너무감사하네요 꾸벅 (_._) 남은 한 해 잘 마무리 하시구...
    • 일그니
      2004.12.28 23:30
      음. 질문을. 이해를. 잘.. 하지만.. 일단 객체의 움직임을 제어하고 싶다는..것으로 이해하겠습니다. ...
    • 공성환
      2004.12.28 20:46
      간단하게 uses절에 ShellAPI추가시키시고... ShellExecute(GetDesktopWindow, 'open', 'www.delphi.co.k...
    • 오병주
      2004.12.28 20:36
      이걸 이용하세요..^^ Function OpenInternetExplorer( sURL : string ): Boolean; const  &nbs...
    • 임우식
      2005.01.06 00:16
      ^^
    • 정원석
    • 2004.12.28 01:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2004.12.31 23:54
      Client는 Oracle7용을 설치하고, setting도 oracle7 client에서 setting했던 것 처럼 사용하십시오.. 똑...
    • 이정택
    • 2004.12.27 20:13
    • 2 COMMENTS
    • /
    • 16 LIKES
    • 오정훈
      2005.01.05 01:28
      ActiveX를 만드시려면 데이타 베이스 관련해서는 제약이 많습니다. 예전에 제가 만들었을 때에도 데이타 ...
    • 하얀까마귀
      2004.12.28 07:58
      안녕하세요 하얀까마귀 입니다. ActiveX 개발할때 조심해야될 부분이.. IE의 특성이 새창을 열때 새...
    • 초보델
    • 2004.12.27 18:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2004.12.28 01:45
      안녕하세요... MapVirtualKey() 함수를 사용하시면, 특정 키의 스캔코드값을 가지고 올 수 있습니다....
    • 황당한초보
      2004.12.27 19:14
      numlock on시 숫자패드 코드를 가지며, off시에는 방향키의 코드를 가집니다. 아래 코드를 참조하십시오....
    • 신철우
    • 2004.12.25 01:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2004.12.28 01:48
      아래 질문하신거에 대한 답변은 테스트 거치고 다시 올려드린건데.. 안해보셨나 보네요.. 다시 올려드...
    • 황당한초보
      2004.12.25 12:08
      sndPlaySound(FData, SND_MEMORY or SND_ASYNC or SND_LOOP); 이렇게쓰시지요 각각 인자는 아시겠지요? ^...
    • 권오현
    • 2004.12.24 22:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.12.25 02:59
      안녕하세요. 최용일입니다. 아래와 같이 해보세요... uses     ......, ClipBr...
    • 신철우
    • 2004.12.24 19:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2004.12.24 21:09
      안녕하세요.. wav 파일의 연주를 특정 시간 만큼 반복재생키 위해 while 문을 사용하셨나요? 만일 ...
    • 김성현
    • 2004.12.24 00:45
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.12.24 02:06
      값을 형변환으로 스트링을 만들면 아무것도 없을때 '' 이 되던데요. ^^ 해보세요.
    • 김성현
      2004.12.24 02:33
      감사합니다 ^^;; 그런데 디비에서 값을 가져 오는거라 '' 와 널값은 다르다고 알고 있었는데 아닌가...
    • 석주현
      2004.12.24 08:03
      디비에서 값을 가지고 오지만 마지막 부분에 AsString 을 하기 때문에 그런거죠.. ^^
    • 김성현
      2004.12.26 23:41
    • 석주현
      2004.12.24 01:56
      작업 관리자를 띄우고 태스트 해보세요. 해보면 보통 동적으로 생성된 객체들은 그냥 메모리 잡아 먹고 ...
    • 김종균
      2004.12.24 02:30
      답변 감사드립니다. 같은 질문인데요... 폼이 닫히면 자동으로 반환이 안되나요? 안된다면, 동적으로 만...
    • 석주현
      2004.12.23 18:01
      TImage 말고 TPaintBox를 이용해서 작업하세요. 그리고 얼마나 복잡한 그림을 그리시는지는 모르지만 ...
    • 김종균
      2004.12.23 20:02
      답변감사합니다. 하다 하다 안되서... image를 두번 그려서 하고 있는데여 ^^;;; PaintBox로 해바야 겠네...
    • 하얀까마귀
      2004.12.28 07:52
      안녕하세요 하얀까마귀 입니다. TImage는 당연히 느립니다. ㅠㅠ 내부의 소스를 보시면 하는짓이 많...
    • nilriri™
      2005.07.10 06:28
      http://www.delphi.co.kr/zboard/zboard.php?id=delphiResource >그 미리보기에서 > >원하는 페이지를...
    • 이원희
    • 2004.12.23 04:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.23 20:10
      강의실에서 contextmenu로 조회하시면 해당 내용이 나옵니다.
    • 이승호
    • 2004.12.23 02:59
    • 0 COMMENTS
    • /
    • 0 LIKES