Hola
En mi aplicación tengo un botón que, cada vez que se pulsa, genera un nuevo objeto con una determinada información. El código es el siguiente
Código Delphi
[-]
procedure TSDIAppForm.VentanaNotaClick(Sender: TObject);
var
sVacio: String;
tnNodAux: TTreeNode;
Stream: TStream;
iLonMat: Integer;
begin
iLonMat := length(agVentNot);
SetLength(agVentNot, iLonMat + 1 );
agVentNot[iLonMat] := TFrmVerNota.Create(Application);
tnNodAux := ArbolElementos.Selected;
agVentNot[iLonMat].Caption := CaminoArbolElementos( tnNodAux, sVacio );
Stream := FrmBasDat.TablaNotas.CreateBlobStream(FrmBasDat.TablaNotas.FieldByName('DesNot'), bmRead);
agVentNot[iLonMat].RVVerNota.LoadRVFFromStream(Stream);
agVentNot[iLonMat].RVVerNota.Format;
agVentNot[iLonMat].Visible := True;
Stream.Free;
end;
unit VerNota;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,RVScroll, RichView, RVEdit, DBRV, RVStyle,
RVStr;
type
TFrmVerNota = class(TForm)
RVVerNota: TRichView;
EstiloVerNota: TRVStyle;
private
public
end;
var
FrmVerNota: TFrmVerNota;
implementation
uses
BasDat;
{$R *.dfm}
end.
Mis dudas son las siguientes:
¿Existe una forma mas elegante de hacerlo que asignándolo a una matriz?
¿Se podría hacer con un objectlist, por ejemplo? En ese caso, ¿como podría ver las propiedades, variables, etc. del objeto, utilizados en el código anterior, ya que lo he intentado y no lo consigo?
¿Al cerrar cualquiera de los forms generados, mediante el aspa de la parte superior derecha, se libera el objeto de éste o hay que mandar un close en el evento FormClose?
Gracias por vuestra atención