Оказалось, что ещё каких-то сборок не хватало, но не смог понять каких, пришлось поставить mono-complete
всё же. У меня просто ноут, ssd небольшой, мне жалко сотню мегабайт под это дело. Ну да ладно…
Сотня мегабайт сегодня это ничто.
Заработал Assert в WDE
Здравствуйте. Некорректно работает генерация реализации элемента управления в конструкторе форм двойным кликом по элементу в случае, когда в конце раздела implementation (перед новосгенерировавшейся процедурой) оказывается коротко определенная функция (например, function Sqr3(x: integer) := xxx; ). Процедура генерируется перед символом “;” в конце коротко сгенерированной функции и это приводит к ошибке компиляции. Выглядит это так:
function Sqr3(x: integer) := xxx
procedure Form1.button1_Click(sender: Object; e: EventArgs); begin
end;;
После завершающей операторной скобки сгенерированной процедуры оказывается два символа “;”.
Не работает переименование переменных в кортежах. Например:
var
a, b: integer;
begin
a := 1;
b := 2;
(a, b) := (b, a);
end.
При попытке переименовать переменную “а” в “c”(правой кнопкой по переменной, переименовать) получится следующее:
var
c, b: integer;
begin
c := 1;
b := 2;
(a, b) := (b, a); //!
end.
Пишет, что Нельзя преобразовать тип string к LinkedListNode в строке b := a.first;
var
a: System.Collections.Generic.Linkedlist<string>;
b: System.Collections.Generic.Linkedlistnode<string>;
begin
a := new System.Collections.Generic.LinkedList<string>;
a.AddFirst ('a');
b := a.first;
end.
тут скорее всего с intellisense проблема, который неправильно тип a.first показывает:
var
a: System.Collections.Generic.Linkedlist<string>;
begin
a := new System.Collections.Generic.LinkedList<string>;
a.AddFirst ('a');
writeln(a.First.GetType);
end.
в результате выводится: System.String
Ошибка в модуле Robot.
PascalABCCompiler.Core v3.1.0.1267 (10.07.2016), debug version Runtime version: 4.0.30319.42000 OS version: Microsoft Windows NT 6.2.9200.0 Processor count: 4 WorkingSet: 105712 kb
uses Robot;
begin
Task('a1');
end.
Текст ошибки
Ошибка времени выполнения: System.Reflection.TargetParameterCountException: Несоответствие числа параметров. Стек: в System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous) в System.Windows.Forms.Control.Invoke(Delegate method, Object[] args) в RobotField_implementation______.RobotField_implementation______.__InitModule() в RobotField.RobotField.InitModule() в Robot.Robot.InitModule() в RBa1.Program.$Init() в RBa1.Program.Main()
Версия 3.1. Windows XP. Стояла версия 2.2, потом написал игру у друга на компе, у него версия 3.1 стояла. Скопировал у него установщик, у него всё компилилось, а себе поставил–этот же файл не компилится. Ругается на random: Сначала “невозможно явно привести тип integer к system.Random”, потом пишет "Неизвестное имя: random". Скачал последнюю сборку с сайта- проблема осталась. Переустановил- всё равно ругается. Что делать?
Код приведите
Весь или только тот, который приводит к ошибке?
Лучше минимальный код, приводящий к ошибке.
Желательно проверить еще чтобы в начале файла не было написано uses System;
когда я нажимаю Ctrl+Space у меня вылазят только зарезервированые слова, нажал я между begin end. в главном модуле программы… не удобно так работать, оно понимает, к примеру, system только если я нажму точку, но если я напишу sys и ктрл+пробел оно не дополнит
Странно, после компиляции Kaspersky во всю кричит на программу, якобы в ней обнаружено HEUR:Trojan.Win32.Generic обновился до новой сборки, Kaspersky на время утих, а после пары изменений в коде, снова начал ругаться. Заранее говорю, код - ни разу не вирус.
А какая версия операционной системы?
И - попробуйте компилировать по Shift-F9 - тогда кричит или нет?
win 10. когда запускаю через f9 и Shift-F9 не кричит совсем, даже если в процессе работы программы пну на проверку данного файла, а если нажать “компилировать” тогда он начинает ругаться.
А попробуйте включить-отключить в опциях компиляции флажки Генерировать отладочную информацию и Ускорять запуск из-под оболочки и напишите поведение во всех комбинациях случаев.
Как Вы понимаете, вируса в сгенерированном средствами компилятора exeшнике просто физически не может быть. Разве что на машине вирус, и он сразу цепляется ко всем exeшникам (это крайне сомнительно)
[quote=“Admin, post:337, topic:126, full:true”]Разве что на машине вирус, и он сразу цепляется ко всем exeшникам (это крайне сомнительно) [/quote]
Это точно нет, машина у меня чистая, 24/7 работает и через ночь на проверку встает. Сейчас попробую разные комбинации и отпишусь.
Вот и нашлась проблема, без флага Генерировать отладочную информацию, касперский уже не считает эту программу вирусом. Остальные флаги никак не влияют на поведение касперского. Спасибо за помощь. С=
Интересно, почему антивирусу так сильно не нравится отладочная информация в программе? с чем это связано?