Hallo schon wieder
Habe eine TList mit einem Objekt in einer Form als public variable eingetragen.
Nun will ich sie von einem anderen Form aus überschreiben, doch ich erhalte folgenden Fehler:
Zitat:
[dcc32 Fehler] MIDIControllerForm.pas(71): E2010 Inkompatible Typen: 'System.Generics.Collections.TList<
Winapi.Windows. tagLOGBRUSH>' und 'System.Generics.Collections.TList<Patterns.TPatte rn>'
Doch eigentlich sind beide zu 100% ein TList<TPattern>, das sagt mir sogar die
IDE wenn ich mit der Maus rüberfahre.
Delphi-Quellcode:
procedure TfrmMIDIController.ReloadAll;
begin
if Assigned(FMIDIMain.Patterns) then
FMIDIMain.Patterns := FPatterns;
end;
Delphi-Quellcode:
unit MIDIMainForm;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs, Generics.Collections,
PixelFrost.MIDI,
Vcl.ExtCtrls, D2DDrawer,
Vcl.StdCtrls;
type
TfrmMIDIMain =
class(TForm)
procedure FormPaint(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private-Deklarationen }
FDrawer : TD2DDrawer;
public
{ Public-Deklarationen }
Patterns : TList<TPattern>;
end;
var
frmMIDIMain: TfrmMIDIMain;
implementation
{$R *.dfm}
procedure TfrmMIDIMain.FormPaint(Sender: TObject);
begin
FDrawer := TD2DDrawer.Create(self);
FDrawer.Canvas.BeginDraw;
FDrawer.DrawRect(0,0,ClientWidth-1,ClientHeight+1);
FDrawer.Canvas.EndDraw;
end;
procedure TfrmMIDIMain.FormResize(Sender: TObject);
begin
Invalidate();
end;
end.
Ich verstehe nicht wieso das nicht klappt...
Dr. Google konnte mir auch keine Antwort geben
MfG