Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глюк Delphi или другое?


andycat ©   (2005-02-24 13:47:00) 

Такая проблема: есть проект Delphi 7 на главной форме PageControl отображающие различные части базы данных Interbase, на некоторых из них надо сделать отчет, соответственно нажимаю на кнопку создаю форму отчета получаю данные TIBQuery и делаю Превью отчета QReport все отлично работает, но после закрытия/печати отчета PageControl вываливается на первую страничку и для БД закрываются все TDataSet почему? не могу понять, я ведь к ним совсем не обращаюсь, формы отчетов совершенно автономны я их создаю а после использования Дестрою...


andycat   (2005-02-25 21:59:00) [1]

что, самое интересное, в своем старом проекте использующем правда BDE+Paradox все работает... Это глюк связи IB & QR ?
какие варианты?


andycat   (2005-02-25 15:40:00) [2]

операция всего одна - fmPrnRep3.QuickRep1.Preview , если ее убрать, то печататься не будет, но и всяких левых переключений тоже. Где тут разбираться?, уже раз 5 прошелся по всей логике....


КаПиБаРа   (2005-02-25 15:14:00) [3]


> andycat   (25.02.05 14:44) [14]

Дружище, такое впечатление что ты не программу пишешь, а пытаешься управлять стадом баранов разбегающихся в разные стороны. Что-то у тебя самостоятельно закрывается, что-то переключается.
Сядь разберись что и как работает, напиши комментарии. Вникни в суть каждой операции.


andycat   (2005-02-25 15:09:00) [4]

Виноват сам QReport - закрывает DataSetы и PageControla. Если просто открыть/Закрыть IBQuery и/или форму - все отлично - ничего не сбивается.
Кто-нибудь встречался с таким глюком, или как запретить QReport у закрывать IBQuery?


andycat   (2005-02-25 14:44:00) [5]

Смотрел, блин, такое ощучение , что fmPrnRep3.IBQuery1.Close закрывает все, но это пол беды - нужнве Query можно открыть заново с восстановлением указателя на нужную запись, но при чем здесь PageControl? Может Free формы так на него влияет? щас попробую....


КаПиБаРа   (2005-02-25 11:38:00) [6]

Надо всю программу просмотреть критическим взглядом и определить что закрывает DataSet.


andycat   (2005-02-25 11:27:00) [7]

Нет, они на главной форме, но IBQuery1 на  fmPrnRep3 обращаются к тем же таблицам, что и остальные Query, поэтому они возможно и закрываются, но при чем здесь PageControl ?


КаПиБаРа   (2005-02-25 11:14:00) [8]

А датасеты которые закрываются случайно не на fmPrnRep3 расположены?


andycat   (2005-02-25 11:04:00) [9]

procedure TfmMain.N2Click(Sender: TObject);
var
i:integer;
begin
Application.CreateForm(TfmPrnRep3, fmPrnRep3);
fmPrnRep3.IBQuery1.Close;
fmPrnRep3.IBQuery1.SQL.Clear;
fmPrnRep3.IBQuery1.SQL.Add('select orgpolname outlist, count(zvlid) countof, sum(sumvyp) sumof, ');
fmPrnRep3.IBQuery1.SQL.Add('sum(sumvyp)/count(zvlid) sredn');
fmPrnRep3.IBQuery1.SQL.Add('from zvlcompmain');
fmPrnRep3.IBQuery1.SQL.Add('join zvlcompdata');
fmPrnRep3.IBQuery1.SQL.Add('on (zvlcompmain.zvlid=zvlcompdata.zvlid)');
fmPrnRep3.IBQuery1.SQL.Add('left outer join orgpol');
fmPrnRep3.IBQuery1.SQL.Add('on (zvlcompmain.orgpolid=orgpol.orgpolid)');
for i:=1 to CountSQL do
 fmPrnRep3.IBQuery1.SQL.Add(StrSQL[i]);
fmPrnRep3.IBQuery1.SQL.Add('group by orgpolname');
fmPrnRep3.IBQuery1.SQL.Add('order by orgpolname');
fmPrnRep3.IBQuery1.ParamByName('p_d1').AsDate:=DateTimePicker5.Date;
fmPrnRep3.IBQuery1.ParamByName('p_d2').AsDate:=DateTimePicker6.Date;
fmPrnRep3.n:=1;
fmPrnRep3.IBQuery1.Open;
fmPrnRep3.QRLabel1.Caption:='?????? ?: '+DateToStr(DateTimePicker5.Date)+' ?? '+DateToStr(DateTimePicker6.Date);
fmPrnRep3.n:=1;
fmPrnRep3.QuickRep1.Preview;
fmPrnRep3.IBQuery1.Close;
fmPrnRep3.Free;
end;

как видите PageControl не используется, а он все равно не переключается....


КаПиБаРа   (2005-02-25 10:38:00) [10]

Постоянно на форум обращаются люди у которых программа не работает. Но саму программу они не показывают. По этому и родилось такое выражение "ошибка в 17 строке".


Плохиш   (2005-02-25 10:37:00) [11]

Профессия дворника тоже очень хорошая - физический труд на свежем воздухе.

А у тебя ошибка в неприведённом здесь коде твоейпрограммы.


andycat   (2005-02-25 10:30:00) [12]

не смешно....


КаПиБаРа   (2005-02-25 09:08:00) [13]

Ошибка в тексте программы. Возможно в 17 строке :)


Anatoly Podgoretsky   (2005-02-25 08:46:00) [14]

Это "или другое? "


andycat   (2005-02-25 08:45:00) [15]

А чего?


Anatoly Podgoretsky   (2005-02-24 18:27:00) [16]

Вероятнее всего это глюк не Дельфи.


andycat   (2005-02-24 17:11:00) [17]

В смысле???


Amoeba   (2005-02-24 15:52:00) [18]

Ошибка в 17-й строке.


Наверх

Титульная страница Поиск, карта сайта Написать письмо