![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TQRCahr [D7]
RamzesIII © (2008-11-18 10:21:00)У меня при повторном обращении к этому компоненту выдает ошибку "Stack overflow".
Даные TQRChart берет из Query1,который еред выводом отчета отключается и подключается и текст запроса в него кажжый раз вбивается заново...
что делать?
может надо как-нить очистить компонент TQRChart?
procedure TFormVibPer.BitBtn1Click(Sender: TObject);
var god:integer;
begin
god:=0;
god:=StrToInt(edit1.Text);
FormDiagProd.Query1.Active:=false;
FormDiagProd.Query1.SQL.Clear;
FormDiagProd.Query1.SQL.Add('SELECT Diski.Nazvanie, SUM( Prodazha.Kolichectvo )');
FormDiagProd.Query1.SQL.Add('FROM "prodazha.DB" Prodazha');
FormDiagProd.Query1.SQL.Add('INNER JOIN "diski.DB" Diski ON (Prodazha.Shtrih_kod = Diski.Shtrih_kod)');
FormDiagProd.Query1.SQL.Add('INNER JOIN "chek.db" Chek ON (Prodazha.Kod_cheka = Chek.Kod_cheka)');
FormDiagProd.Query1.SQL.Add('WHERE Chek.data BETWEEN :Date1 AND :Date2');
FormDiagProd.Query1.SQL.Add('GROUP BY Diski.Nazvanie');
FormDiagProd.Query1.Params[0].DataType:=ftDateTime;
FormDiagProd.Query1.Params[1].DataType:=ftDateTime;
if (god mod 4)=0 then
if d2='28.02.' then d2:='29.02.';
FormDiagProd.Query1.Params[0].Value:=d1+edit1.Text;
FormDiagProd.Query1.Params[1].Value:=d2+edit1.Text;
FormDiagProd.Query1.Active:=true;
FormDiagProd.QRChart1.Refresh;
FormDiagProd.QuickRep1.Preview;
close;
end;
в Edit1 вводится год
чтое так в коде????
Anatoly Podgoretsky (2008-11-18 19:00:00) [1]Я ICQ включаю раз в полгода, срок еще не вышел.
RamzesIII (2008-11-18 17:17:00) [2]
> Anatoly Podgoretsky © (18.11.08 16:46) [6]
> Примерно так with TFormDiagProd.Create(Self) dotry QRep.
> Preview; // QRep.Print;finally Free;end;
а вы не могли бы мне в аську написать,просто я не совсем нонимаю...357193329
Anatoly Podgoretsky (2008-11-18 16:46:00) [3]Примерно так
with TFormDiagProd.Create(Self) do
try
QRep.Preview; // QRep.Print;
finally
Free;
end;
Anatoly Podgoretsky (2008-11-18 16:38:00) [4]Иным способом можно, это правильно заполнить все свойства QuickRep, включая внутренние. А в чес у тебя сложность с созданием формы - это самый простой и надежный способ. Любые компоненты создаются методом Create. Форма у тебя есть - это FormDiagProd, на которой уже лежит QuickRep
RamzesIII (2008-11-18 16:35:00) [5]А иным спосом никак нельзя исправить эту ошибку?просто осталась неделя до сдачи курсового...а я в динамическом создании форм ничего не понимаю...
RamzesIII (2008-11-18 16:35:00) [6]А иным спосом никак нельзя исправить эту ошибку?просто осталась неделя до сдачи курсового...а я в динамическом создании форм ничего не понимаю...
Anatoly Podgoretsky (2008-11-18 11:15:00) [7]Создавай форму динамически, иначе будешь бороться с разными проблемами, ведь ты же не сможешь правильно инициализировать для повторного вызова, например правильно настроить все QRPrinter
RamzesIII (2008-11-18 10:24:00) [8]Все работает только после перезапуска программы