Показать сообщение отдельно
  #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: Не забываем про теги!
Ответить с цитированием