Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi pointer-zugewiesene Kurven in werden nicht mehr gezeichnet (https://www.delphipraxis.net/150314-pointer-zugewiesene-kurven-werden-nicht-mehr-gezeichnet.html)

EccoBravo 13. Apr 2010 16:16


pointer-zugewiesene Kurven in werden nicht mehr gezeichnet
 
Hallo,

in meinem neuen Prog werden pointer-zugewiesene Kurven nicht mehr in einem Chart gezeichnet.

Delphi-Quellcode:
unit test;

interface

uses ...

type
   ...
TF_Test = class(TForm)
    ....
    CH_Test:TChart;
    Kurv01: TFastLineSeries;
    Kurv02: TFastLineSeries;
    Kurv03: TFastLineSeries;
   
    procedure FormCreate(...);
    procedure Button1: TButton;
    procedure Button2: TButton;
    ....

var
    F_Test: TForm;
    ....
    Kurv: array[1..3] of ^TFastLineSeries;

implementation

...

procedure TF_Test.FormCreate(...);
begin
    ....
    Kurv[1] := @Kurv01;
    Kurv[2] := @Kurv02;
    Kurv[3] := @Kurv03;
    ....
end;

procedure TF_Test.Button1Click(...);
begin
    ...
    Kurv[1].AddXY(1,1);
    Kurv[1].AddXY(2,4);
    Kurv[1].AddXY(3,9);
    ...    // geht nicht - unklar !
end;

procedure TF_Test.Button2Click(...);
begin
    ...
    Kurv01.AddXY(1,1);
    Kurv01.AddXY(2,4);
    Kurv01.AddXY(3,9);
    ...    // geht gut
end;

Mit "festverdrahtetem" Code in Button2 läuft die Kurvenzeichnung gut,
mit Button1 läuft die Kurvenzeichnung nicht!

Irgendwie für mich unklar,
in meinen anderen Progs läuft dieser Code.

Falls jemand etwas sieht, weiss oder vermutet...dem vielen Dank!

Grüße

EB.

Namenloser 13. Apr 2010 16:19

Re: pointer-zugewiesene Kurven in werden nicht mehr gezeich
 
Von welchem Typ ist TFastLineSeries? Ist es eine Klasse? Wenn ja, dann lass einfach mal den kompletten Pointerkram weg, denn ein Objekt ist bereits in Pointer.

Und was genau heißt "geht nicht"? Gibt es eine Fehlermeldung?

EccoBravo 13. Apr 2010 16:26

Re: pointer-zugewiesene Kurven in werden nicht mehr gezeich
 
TFastLineSeries wird vom Chart-Editor gefiefert.
Wenn ich im Chart-Editor eine Kurve hinzufüge wird diese im Object TF_Test eingetragen.

Wie äußert sich der Fehler:
zur Laufzeit tut sich nichts, das Diagramm bleibt einfach leer.

Danke

EB.

himitsu 13. Apr 2010 16:30

Re: pointer-zugewiesene Kurven in werden nicht mehr gezeich
 
Zitat:

Zitat von EccoBravo
TFastLineSeries wird vom Chart-Editor gefiefert.
Wenn ich im Chart-Editor eine Kurve hinzufüge wird diese im Object TF_Test eingetragen.

dann versuch mal das
Delphi-Quellcode:
*   Kurv: array[1..3] of TFastLineSeries;

implementation

...

procedure TF_Test.FormCreate(...);
begin
    ....
    Kurv[1] := Kurv01;
    Kurv[2] := Kurv02;
    Kurv[3] := Kurv03;
    ....
end;

EccoBravo 13. Apr 2010 16:33

Re: pointer-zugewiesene Kurven in werden nicht mehr gezeich
 
Hallo himitsu,

leider negativ

EB.

himitsu 13. Apr 2010 16:43

Re: pointer-zugewiesene Kurven in werden nicht mehr gezeich
 
Und was würder der Dialog sagen?
Delphi-Quellcode:
*   Kurv: array[1..3] of TFastLineSeries;

implementation

...

procedure TF_Test.FormCreate(...);
begin
    ....
    Kurv[1] := Kurv01;
    Kurv[2] := Kurv02;
    Kurv[3] := Kurv03;
    ....
end;

procedure TF_Test.Button3Click(...);
begin
    if (Kurv[1] <> Kurv01) or (Kurv[2] <> Kurv02) or (Kurv[3] <> Kurv03) then
      ShowMessage(Format('Die Referenzen haben sich geändert'#13#10'%x %x'#13#10
        + '%x %x'#13#10'%x %x', [Kurv[1], Kurv01, Kurv[2], Kurv02, Kurv[3], Kurv03]));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz