Q&A

  • 분류먼저 해주시길 부탁드립니다.
Datasource statechange procedure에서요



if datasource1.dataset.state =dsbrowse then에서 이런 에러가 나는데 무슨 말인지 모르겠어요..좀 가르쳐주세요..



*projectA_prj.exe raised exception class EAccessviolation with message 'Access violation at address 004B6FBC in module 'A_prj.EXE' . Read of address FFFFFFFF



란 에러거든요..



빨리 좀 가르처주세요.

2  COMMENTS
  • Profile
    하얀까마귀 2000.03.07 21:25
    안녕하세요 하얀까마귀 입니다.

    음.. 지금 보여주신 소스로는 에러를 알기 힘드네요...

    말씀하신 에러는 아마도 프로그래밍 하면서 가장 많이 접하는 에러일 겁니다...

    메모리 참조가 잘못되었다는 건데....

    확실한건 아니구요.. 아마도 DataSource1에 연결되어 있는 DataSet이 생성되어 있지

    않는것 같네요.. 그러니까

    Form1에 DataSource1이 있구요.. Form2에 DataSet <-- 이건 Query1이라고 하죠...

    Datasource1과 Query1이 연결되어 있는 상태인데.. 폼2를 생성시키지 않았다면 그런

    에러가 발생할것 같네요... 물론 이건 제 예상이고요.. 아니라면 좀더 상세한 코드를

    보여주세요.. 그래야 알것 같으니까..

    DataSource1.DataSEt이 비여있을수도 있겠네요.. 그럼 수고하세요.

    하얀까마귀

  • Profile
    2000.03.07 23:51
    datasource는 DS_Master이구요, 이것의 dataset은 Q_BW320E인데 이건 datamodule에 있구요...이 BW324E에서두 사용되고 있어요..물론 이 쿼리는 다른곳에서도 연결되어 사용되구요..비어있진 않은데..datamodule도 띄워놓았는데...



    procedure TF_BW324E.DS_MasterStateChange(Sender: TObject);

    begin

    if DS_Master.DataSet.State = dsBrowse then --------요기를 왔다갔다 하다가

    begin 에러가 나요.

    bbInsert.Enabled:= True;

    bbDelete.Enabled := True;

    bbSave.Enabled:= False;

    bbCancel.Enabled:= False;

    bbClose.Enabled:= True;

    end;