Вы уже второй человек, заявляющий, что я люблю Фортран. Так вот, на Фортране я писал последний раз программу примерно так в 1982 году. Фортран - это мощнейший инструмент для расчетов. А делать подобные серьезные расчеты мне не приходилось более 30 лет.
Хотя бы пообщались. И то хорошо, узнали мнение каждого кто привнес вклад в эту беседу. Опрос принимает очень интересный оборот - да и нет имеют равное количество голосов, а нейтральной точки зрения придерживается большинство.
1 - за, 1 - против, 2 - воздержались? Это называется нерепрезентативная выборка. Лучше такие вопросы решать на троих и не голосованием…
Кто бежит в магазин?
Мнуточку!.. Щас запустим голосование…
Зато я нет)) Я ведь тоже умею нажимать на значок шестерёнки над окном ответа. Правда я тоже спать пожалуй, не програмится уже как то))
Да все умеют, но не все нажимают))
“Болталка” есть, а где тут раздел “Буфет”? Похоже, пора создавать… Вход только с 21+
Уже тут.
Можно исправить.
Вот что значит “Упомянуть к ночи”
@Admin, @ibond я иногда получаю внутреннюю ошибку, при компиляции File tests.pas
из IDE:
0.rar (15,4 КБ)
Но не каждый раз. Более того, если компилировать несколько раз подряд - эта ошибка не появляется. Вот текст ошибки:
() : Внутренняя ошибка компилятора в модуле [pabcnetc.exe] :'System.Exception: System.ArgumentException: Переданная локальная переменная не принадлежит данному ILGenerator.
Имя параметра: local
в System.Reflection.Emit.ILGenerator.Emit(OpCode opcode, LocalBuilder local)
в PascalABCCompiler.NETGenerator.ILConverter.visit(ILocalBlockVariableReferenceNode value)
в PascalABCCompiler.NETGenerator.ILConverter.InitializeUnsizedArray(ILGenerator il, TypeInfo ti, ITypeNode _arr_type, IExpressionNode[] exprs, Int32 rank)
в PascalABCCompiler.NETGenerator.ILConverter.GenerateStandardFuncCall(ICommonNamespaceFunctionCallNode value, ILGenerator il)
в PascalABCCompiler.NETGenerator.ILConverter.visit(ICommonNamespaceFunctionCallNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IBasicFunctionCallNode value)
в PascalABCCompiler.NETGenerator.ILConverter.EmitArguments(IParameterNode[] parameters, IExpressionNode[] real_parameters)
в PascalABCCompiler.NETGenerator.ILConverter.visit(ICommonConstructorCall value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IThrowNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertStatement(IStatementNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(IStatementsListNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertBody(IStatementNode body)
в PascalABCCompiler.NETGenerator.ILConverter.visit(ICommonMethodNode value)
в PascalABCCompiler.NETGenerator.ILConverter.visit(ICommonTypeNode value)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertTypeImplementations(ICommonTypeNode[] types)
в PascalABCCompiler.NETGenerator.ILConverter.ConvertFromTree(IProgramNode p, String TargetFileName, String SourceFileName, CompilerOptions options, String[] ResourceFiles)
в PascalABCCompiler.Compiler.Compile()'
Как искать причину этой ошибки?
А в интерфейсе может быть конструктор?
Нет, не может. Впрочем, то же самое и к деструкторам относится.
type
I1 = interface
constructor();
end;
begin
end.
выдаст при компиляции:
Program1.pas(3) : Интерфейс не может содержать конструкторы