Доброго времени суток!
В Си есть переменные класса памяти static, которые инициируются один раз и сохраняют свое значение после выхода из функции. Вопрос: есть аналог в лазарус или использовать глобальные переменные?
			
		Модератор: Модераторы
procedure TForm1.Button1Click(Sender: TObject);
const
 d : Double = 1.0;
begin
 d := d * 2;
 ShowMessage(Format("%.2f",[d]));
end;
SSerge писал(а):поскольку может повлечь трудно диагностируемые ошибки
Снег Север писал(а):Только при редкостной криворукости программиста
unit Unit1;
{$mode objfpc}{$H+}
interface
function Func1: integer;
function Func2: integer;
implementation
type
  { TMyClass }
  TMyClass = class
    field: integer;
    constructor Create;
  end;
  TMyRec = record
    field: integer;
  end;
constructor TMyClass.Create;
begin
  field := 0;
end;
var
  MyClass: TMyClass = nil;
  MyRec: TMyRec = (field: 0);
function Func1: integer;
begin
  if MyClass = nil then
    MyClass := TMyClass.Create;
  Inc(MyClass.field);
  Result := MyClass.field;
end;
function Func2: integer;
begin
  Inc(MyRec.field);
  Result := MyRec.field;
end;
end.
  if GL_LibHandle = nil then
     InitOpenGL;Сейчас этот форум просматривают: Google [Bot] и гости: 1