powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / QuickReport.
5 сообщений из 5, страница 1 из 1
QuickReport.
    #32273140
galinaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю обыкновенный отчет с помощью QuickReport. Delphi5. На Preview пользователь ошибочно делает двойной щелчок мышкой на пиктограмме печати и программа вылетает. Посоветуйте что-нибудь. Спасибо!
...
Рейтинг: 0 / 0
QuickReport.
    #32273148
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только ждать! Твой пользователь рано или поздно научится контролировать не только свои желания, но и свои действия.
...
Рейтинг: 0 / 0
QuickReport.
    #32273491
Alex_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть исходники, то подправить можно ... :))
Я в своих программах это делаю вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
procedure TRasxOrdersForm.ac_neworderExecute(Sender: TObject);
begin
   // обнулим указатель на вызов данного метода предотвратим повторный вызов
   // во избежании ошибки если пользователь слишком резво щелкает мышкой :)))
      ac_neworder.OnExecute := nil;
      try
      ....
      finally
        // востановим указатель на вызов данного метода
        ac_neworder.OnExecute := ac_neworderExecute;
      end; 
end;

...
Рейтинг: 0 / 0
QuickReport.
    #32273879
Vladimir_t2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в Delphi 6.
Я бы вам предложил создать свою форму с prew на которой лежат собственные
елементы управления. Для примера предлагаю unit как есть своей формы с prew. В этом случае вы можете контролировать внешний вид интерфейса
и реакцию обьектов управления.

В приведенном ниже примере ToolButton7 - кнопка печати.
Если еффект вылета приложения повторится -
попробуйте в DblClick прописать abbort .

interface

uses
SysUtils, Variants, Forms,
Dialogs, Ora, QuickRpt, ComCtrls, ToolWin,
ImgList, QRPrntr, Classes, Controls, DB, MemDS, DBAccess,
ExtCtrls, StdCtrls;

type
TFormQrep1 = class(TForm)
rep1: TQuickRep;
Q_Rep: TOraQuery;
ImageList1: TImageList;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
prev: TQRPreview;
Lpage: TLabel;
Lzoom: TLabel;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormResize(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure rep1Preview(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure prevCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
private
{ Private declarations }
public
{ Public declarations }
SQLText,TemaText:string;
end;

var
FormQrep1: TFormQrep1;

implementation

{$R *.dfm}

procedure TFormQrep1.FormShow(Sender: TObject);
begin
if length(SQLText)<>0 then
begin
q_rep.SQL.Text:=SQLText;
q_rep.Active:=true;
rep1.DataSet:=q_rep;
end;
rep1.PreviewModal;
end;

procedure TFormQrep1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
q_rep.Active:=false;
end;

procedure TFormQrep1.FormResize(Sender: TObject);
begin
rep1.Top:=30;
rep1.Left:=10;
rep1.Width:=self.ClientWidth-20;
rep1.Height:=self.ClientHeight-rep1.Top-1;
lzoom.Caption:=' '+inttostr(prev.Zoom)+' ';
end;

procedure TFormQrep1.rep1Preview(Sender: TObject);
begin
Prev.QRPrinter := TQRPrinter(Sender);
end;

procedure TFormQrep1.ToolButton1Click(Sender: TObject);
begin
prev.Zoom:=prev.Zoom-10;
lzoom.Caption:=' '+inttostr(prev.Zoom)+' ';
end;

procedure TFormQrep1.ToolButton2Click(Sender: TObject);
begin
prev.Zoom:=prev.Zoom+10;
lzoom.Caption:=' '+inttostr(prev.Zoom)+' ';
end;

procedure TFormQrep1.ToolButton3Click(Sender: TObject);
begin
prev.PageNumber:=1;
lpage.Caption:=' '+inttostr(prev.PageNumber)+' ';
end;

procedure TFormQrep1.ToolButton4Click(Sender: TObject);
begin
prev.PageNumber:=prev.PageNumber-1;
lpage.Caption:=' '+inttostr(prev.PageNumber)+' ';
end;

procedure TFormQrep1.ToolButton5Click(Sender: TObject);
begin
prev.PageNumber:=prev.PageNumber+1;
lpage.Caption:=' '+inttostr(prev.PageNumber)+' ';
end;

procedure TFormQrep1.ToolButton6Click(Sender: TObject);
begin
if (prev.QRPrinter.PageCount<>Null)
and(prev.QRPrinter.PageCount<>0)then
begin
prev.PageNumber:=prev.QRPrinter.PageCount;
lpage.Caption:=' '+inttostr(prev.PageNumber)+' ';
end;
end;

procedure TFormQrep1.ToolButton7Click(Sender: TObject);
begin
try
rep1.Print;
except
messagedlg('Печатающее устройство не доступно!',mtWarning,[mbOk],0);
end;
end;

procedure TFormQrep1.prevCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
//prev.Zoom:=100;
lpage.Caption:=' '+inttostr(prev.PageNumber)+' ';
lzoom.Caption:=' '+inttostr(prev.Zoom)+' ';
end;

end.
...
Рейтинг: 0 / 0
QuickReport.
    #32273908
Vladimir_t2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощение за abbort (ну ошибся) - правильно abort .
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / QuickReport.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]