Q&A

  • dbGrid에 대해 꼭 좀 부탁 드립니다.
프로그램 실행시 dbGrid에 아무런 내용이 없을때에 dbGrid를 click하면
Access violation이 나오는데 해결 방법이 없는지요
꼭 답변좀 부탁드립니다....
감사합니다...
5  COMMENTS
  • Profile
    손희석 2006.04.25 03:35
    에러나는 부분에 대한 소스 코드를 알려주셔야 되겠습니다.
    cilck이벤트 부분의 소스를 보여주시기 바랍니다. 그래야 말씀들 드리기가 쉬울듯 합니다.

  • Profile
    고금순 2006.04.25 04:02

    procedure TfBaebun.dgGeoraeCellClick(Column: TColumn);
    var i : integer;
    begin
      with dmCocos.qNae do
      begin
        close;
        sql.Clear;
        sql.add(' select brand, chulymw, jugubun, pummok, colorcode, georae, a01, a02, a03, a04, a05, a06, '
              + '        gye, panmaega from ltd02 '
              + ' where brand = ''' + cbBox1.Text + ''' '
              + '   and Jugubun = ''' + trim(eJugubun.text) + ''' '
              + '   and chulymw = ''' + cbBox2.Text + ''' '
              + '   and pummok = ''' + dgPum.Fields[0].value + ''' '
              + '   and georae = ''' + dgGeorae.Fields[0].value + ''' ');
        open;
        dgNae.datasource.DataSet.Active;

        with dmCocos.qImsi do
        begin
          close;
          sql.Clear;
          sql.add(' select sizetype st from tta01 '
                + ' where brand = ''' + cbBox1.Text + ''' '
                + '   and pummok = ''' + dgNae.Fields[3].value + ''' ');
          open;
          with dmCocos.qImsi1 do
          begin
            close;
            sql.Clear;
            sql.add(' select sizename from tta06 '
                  + ' where sizetype = ''' + dmCocos.qImsi.FieldByname('st').asstring + ''' ');
            open;
            first;
            for i := 1 to recordcount do begin
              dgNae.Columns[5+i].Title.Caption := fieldbyname('sizename').asstring;
              next;
            end;
          end;
        end;
      end;
      dgNae.SelectedIndex := 6;
      dgNae.SetFocus;
      old := dgNae.SelectedField.NewValue;
      label2.Caption := dgGeorae.Fields[0].AsString + ' ' + dgGeorae.Fields[1].AsString;
    end;
  • Profile
    고금순 2006.04.27 00:41
  • Profile
    aiman 2006.04.27 05:44
    breakpoint를 잡아서 Trace해서 어떤부분에서 violation이 나는지 위치를 알려주어야 합니다.

    access violation은 object가 할당(assign)이 되지않아  nil의 경우에 발생합니다.

    그럼...


  • Profile
    고금순 2006.04.28 00:43


    procedure TfBaebun.dgNaeKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (dgNae.SelectedField.OldValue <> null) and (dgNae.SelectedField.OldValue >= 0) and (dgNae.SelectedField.OldValue <= 9) then
        old := dgNae.SelectedField.NewValue
      else
        showmessage('화면에 조회된 내용이 없습니다.');
    end;

    위의 keyup에서 발생하는 것 같습니다....

    위와같이 코딩을 했는데도 나오는데 어찌해야할찌요...
    if (dgNae.SelectedField.OldValue <> null) 이것을
    dgNae.SelectedField.OldValue <> nil로 는 안되던데요...

    조금 많이 급한데 긴급 조언을 부탁드립니다.....
    고맙습니다...