Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2010, 11:30
ivanivan38 ivanivan38 вне форума
Прохожий
 
Регистрация: 07.05.2010
Сообщения: 3
Репутация: 10
По умолчанию Отчет в Delphi

Здравствуйте! Я в Delphi относительный чайник. У меня Delphi 7, со встроенным Rave designer, который шел по умолчанию. Задача: создать отчет в Rave designer, на котором будет распологаться график, который будет браться из самой Delphi (компонент Chart). Я облазил весь интернет, находил что-то похожее, но НИЧЕГО НЕ ПОЛУЧАЕТСЯ!!! Например здесь http://delphikingdom.ru/asp/viewitem...065&mode=print
Данные берутся из XML файла (у меня из самой Delphi), ладно в принципе подошло бы, но автор не описал нормально (т.е. подробно) всю процедуру действий которые он делал пошагово. Или здесь http://www.nevrona.com/Products/Rave...9/Default.aspx на сайте производителя что-то сумбурно описано но ничего конкретно нет. И где взять нормальное пошаговое объяснение как же это сделать??? Заранее спасибо за ответы.
Ответить с цитированием
  #2  
Старый 07.05.2010, 16:09
ivanivan38 ivanivan38 вне форума
Прохожий
 
Регистрация: 07.05.2010
Сообщения: 3
Репутация: 10
По умолчанию

Решил плясать от рекомендаций производителя http://www.nevrona.com/Products/Rave...9/Default.aspx
Кинул на форму в Delphi Chart две кнопки от одной должна строиться график, от другой запускаться отчет. Из панели Rave поместил RvProject1 и RvCustomConnection1. В rave designer настроил одно соединение TChart-а c мета файлом. Запускаю программу все вроде работает. Нажимаю на первую кнопку Строится график, на вторую - вылазит окошко, выбираю Preview и вдруг выскакивает ошибка: Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 004C7500 in module 'Project1.exe1. Read of address 00000038'. Process stopped. Use Step or Run to continue.

Подскажите что не так?

Вот полный текст программы:
Код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, RpCon,
 RpDefine, RpRave;

type
 TForm1 = class(TForm)
   RvProject1: TRvProject;
   RvCustomConnection1: TRvCustomConnection;
   Chart: TChart;
   Series1: TLineSeries;
   Button1: TButton;
   Button2: TButton;
   procedure RvCustomConnection1GetCols(Connection: TRvCustomConnection);
   procedure RvCustomConnection1GetRow(Connection: TRvCustomConnection);
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation
uses RPTChart;
{$R *.dfm}

procedure TForm1.RvCustomConnection1GetCols(
 Connection: TRvCustomConnection);
begin
with Connection do begin
   // PieChart is the name of the DataField that you will use in Rave
   WriteField('PieChart', dtGraphic, 0, '', '');
end;
end;

procedure TForm1.RvCustomConnection1GetRow(
 Connection: TRvCustomConnection);
begin
// Chart is the name of the TChart component you are wanting to print
 WriteChartData(Connection, Chart);

end;

procedure TForm1.Button1Click(Sender: TObject);
var
p2,u1,f1,p,m1,kmp,kmk,sn,w1,k,w2n,mn,mp,mk,a,sk,n2,n1,L19,L20,L21,x,y,M19,M20,M2 1:real;
str:string;
s,c: Integer;
begin
Mk:=100;
sk:=10;
a:=1;
     series1.Clear;

   for s := 0 to round(sk*100) do
   Chart.SeriesList[0].AddXY((Mk*(s/100)*sk*(2 + a))/(s*s/10000 + sk*sk + s* sk*a/100),s/100,'',clRed);
   
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
RvProject1.Execute;
end;

end.
Admin: Не забываем про теги!

Последний раз редактировалось Admin, 07.05.2010 в 16:18.
Ответить с цитированием
  #3  
Старый 11.05.2010, 09:57
ivanivan38 ivanivan38 вне форума
Прохожий
 
Регистрация: 07.05.2010
Сообщения: 3
Репутация: 10
По умолчанию

До сих пор не могу справиться с ошибкой: Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 004C7500 in module 'Project1.exe1. Read of address 00000038'. Process stopped. Use Step or Run to continue.
Все файлы проекта в Delphi слил вот сюда:
http://narod.ru/disk/20598935000/%D0...art.ra r.html . Файл отчета по умолчанию у меня распологался прямо на диске С. Посмотрите кто может, что там не так, а то я прямо даже не знаю что еще такого попробовать сделать, чтобы программа заработала.
Ответить с цитированием
  #4  
Старый 11.05.2010, 13:55
Аватар для Mad programmer
Mad programmer Mad programmer вне форума
Прохожий
 
Регистрация: 11.05.2010
Сообщения: 23
Репутация: 10
По умолчанию

Попробуй самый простой случай.
Допустим проект отчета храниться на С:\1\Project1.rav
В самом проекте кидаешь Bitmap1 и в поле FileLink пишешь Chart.bmp
В Delphi кидаешь RvProject1 в св-во ProjectFile пишешь С:\1\Project1.rav
В проекте 2 кнопки. 1-ая строит график.
а во второй напиши следующий код:
Chart1.SaveToBitmapFile('С:\1\Chart.bmp');
RvProject1.Open;
RvProject1.Execute;
RvProject1.Close;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025