Конференция "Базы" » IBQuery чужой формы [D7, IB6.x]
 
  • Finjy (28.08.08 08:46) [0]
    Привет всем! У меня такая проблема: Есть форма1 и  форма 2, на форме1 есть IBQuery связанный с DBGrid  ну и DataSet. Мне нужно из формы 2 воспользоваться IBQuery. Но при вызове этого компанента из формы2, вываливает ошибка (короче не находит созданного IBQuery на форме1 ). Вот код процедуры вызова

    function TAdvancedSearchForm.BBB: Boolean;
    var
     fhh: TFilterExForm;

    begin

      with  fhh.IBQList do begin

      Open;
         First;
         while not Eof do
         begin
           ComboBox1.Items.AddObject( FieldByName('PAR_NAME').AsString,
                                   Pointer( FieldByName('PAR_ID').AsInteger) );
           Next;
         end;
         Close;
       end;
       ComboBox2.Items.Assign(ComboBox1.Items);
       ComboBox3.Items.Assign(ComboBox1.Items);

    end;
    end

  • Сергей М. © (28.08.08 08:55) [1]

    > не находит созданного IBQuery на форме1


    Ничего подобного.

    В переменной  fhh у тебя мусор, потому и "вываливает ошибка"
  • Finjy (28.08.08 08:59) [2]
    какого рода мусор и как от него избавиться?
  • Сергей М. © (28.08.08 09:12) [3]

    > какого рода мусор


    Произвольного рода.
    Содержимое локальных переменных с неуправляемым временем жизни в момент начала выполнения подпрограммы, использующей такие переменные, не определено.


    > как от него избавиться?


    Присвоить переменной fhh корректную ссылку на заведомо существующий объект класса TFilterExForm
  • turbouser © (28.08.08 09:13) [4]

    > Finjy   (28.08.08 08:59) [2]
    >
    > какого рода мусор и как от него избавиться?


    fhh: TFilterExForm;


    не создана.
    д.б.
    fhh:=TFilterExForm.Create(nil);
    try
     with  fhh.IBQList do begin
    ...
        Close;
      end;
    finally
     fhh.Free;
    end;

  • Finjy (28.08.08 09:26) [5]
    Спасибо! Все работает!
 
Конференция "Базы" » IBQuery чужой формы [D7, IB6.x]
Есть новые Нет новых   [134473   +28][b:0][p:0.001]