Mam 2 moduły:
Pierwszy służący do obliczeń zawierający przycisk, którego zadaniem jest stworzenie wykresu. Wykres znajduje się w drugim module.
Potrzebuję mieć dostęp do kilku właściwości wykresu, czyli chciałbym je zmieniać w zależności od wyliczonych wartości.
Problem polega na tym, że gdy zacząłem kombinować z umieszczaniem komponentów w sekcji public nie jestem w stanie stworzyć spod przycisku w Unicie 1 formularza wykresu.
Moduł 1 - obliczeń:
unit Unit1;
interface
uses
Classes, Controls, Dialogs, ExtCtrls, FileCtrl, Forms,
Graphics,jpeg, Math, Menus, Messages, ShellAPI, Spin,
StdCtrls, SysUtils, Variants, Windows, pngimage, Unit2;
... Obliczenia ........
procedure TForm_Wej.Button_WykresClick(Sender: TObject);
begin Form_Wyk jest w 2 Unicie
Form_Wyk:= TForm_Wyk.Create(Form_Wyk); // wywala błąd pamięci
//Form_Wyk:= TForm_Wyk.Create(self);
//Project raised exception class EReadError with message 'Invalid property value'.
// TForm_Wyk.Create(Form_Wyk); // wywala błąd pamięci
//TForm_Wyk.Create(self);
//Project raised exception class EReadError with message 'Invalid property value'.
{ //Poniższy działa gdy Form_Wyk jest też w var tej procedury a komponenty wykresu nie są publiczne ale nie mam dostępu do komponentów z poziomu pierwszego modułu
Form_Wyk:= TForm_Wyk.Create(self);
try
with Form_Wyk do
begin
Position:=poMainFormCenter
end;
form_Wyk.showmodal; //pokazuje formularz
finally
Form_Wyk.Free; //zwalnia pamięć
end; }
end;
**Drugi moduł - wykresu: **
unit Unit2;
interface
uses
Chart, Classes, Controls, Dialogs, ExtCtrls, Forms, Graphics,
Menus, Messages, Series, SysUtils, TeEngine, TeeProcs, Variants, Windows,
TeeSeriesTextEd, TeePoin3, TeeTools, TeeLegendPalette, TeeURL, TeeSurfa;
type
TForm_Wyk = class(TForm)
private { Private declarations }
public { Public declarations }
Chart1: TChart;
MainMenu1: TMainMenu;
M_Zapisz: TMenuItem;
M_Zamknij: TMenuItem;
M_Z_Bitmapa: TMenuItem;
M_Z_Metafile: TMenuItem;
M_FS: TMenuItem;
MarkTips: TMarksTipTool;
FullScreen: TFullScreenTool;
Source_dC: TSeriesTextSource;
Series2: TPoint3DSeries;
Source_Cel: TSeriesTextSource;
procedure M_ZamknijClick(Sender: TObject);
procedure M_FSClick(Sender: TObject);
procedure M_Z_BitmapaClick(Sender: TObject);
procedure M_Z_MetafileClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
end;
var
Form_Wyk: TForm_Wyk;
implementation
Podsumowując: chciałbym aby formularz z wykresem tworzył się po naciśnięciu przycisku oraz chciałbym mieć dostęp do właściwości komponentów:
Source_dC: TSeriesTextSource;
Source_Cel: TSeriesTextSource;
Co jest źle i jak zrobić, żeby było poprawnie?