我试图显示附加到Resourcestring的常量数组的内容; 但它无法正常工作(Showmessage应显示'Primavera'),但是当您完成应用程序时,您会收到一条空白消息和异常.例如,示例代码在Lazurus中运行良好.我错过了什么....
unit U_Translate;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
Resourcestring
RS1 = 'Primavera'; RS2 = 'Verano'; RS3 = 'Otoño'; RS4 = 'Invierno';
Const
CEstacion: Array [1..4] of ^String = (@RS1,@RS2,@RS3,@RS4);
var Form1: TForm1;
implementation
$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ShowMessage (CEstacion[1]^);
end;
end.
Run Code Online (Sandbox Code Playgroud) 以下代码创建一个.zip文件,其中包含名为HelloWord.txt. 后来,它正确地读取了文件,但是使用和释放时发生了内存泄漏。procedure Zipfile.Read (0, LStream, ZHeader) LStream
我用来ReportMemoryLeaksOnShutdown := DebugHook <> 0;查看内存泄漏。
// Uses System.zip, System.IOUtils;
procedure Probezip;
var
zipfile : TZipFile;
PathDoc : string;
LStream : TStream;
ZHeader : TZipHeader;
MyList : TStringList;
begin
// (Path documents windows)
PathDoc := TPath.GetDocumentsPath;
zipfile := TZipFile.Create;
MyList := TStringList.Create;
try
// Write test TZipfile
MyList.Add ('Hello Word');
MyList.SaveToFile (PathDoc + '\' + 'helloword.txt');
zipfile.Open (PathDoc + '\' + 'test.zip', zmWrite);
ZipFile.Add …Run Code Online (Sandbox Code Playgroud) 我很难访问渐变中使用的颜色,例如 firemonkey 中的 TRectangle。渐变属性(颜色和颜色 1)被定义为只写,但有必要读取它们的值。
访问这些属性的读取值的正确方法是什么?
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects;
type
TForm1 = class(TForm)
Rectangle: TRectangle;
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.FormCreate(Sender: TObject);
var
ColorGradient1: TAlphaColor;
begin
// Error [dcc32 Error]: E2130 Cannot read a write-only property
ColorGradient1 := Rectangle.Fill.Gradient.Color1;
end;
end.
Run Code Online (Sandbox Code Playgroud)