просто он в себе содержит в 588-й строке:
{$i direct.inc}
Так-что, причин для волнений/сомнений пока нет никаких.
Редактировалось 3 раз(а), последний 2018-10-30 15:06:18
Ответов: 9906
Рейтинг: 351
|
|||
nesco, мы не меняем FTCG_CodeGen.dpr
просто он в себе содержит в 588-й строке:
Так-что, причин для волнений/сомнений пока нет никаких. Редактировалось 3 раз(а), последний 2018-10-30 15:06:18 |
|||
карма: 9 |
|
Ответов: 4632
Рейтинг: 749
|
|||
Раз уж затронули тему кодогенератора FTCG - поделюсь своими наблюдениями.
В файле FTCG_CodeGen.dpr есть объект типа TScData и указатель на него PScData. Объекты в Delphi создаются либо по указателю с помощью оператора New(), либо прямо объявляя переменную этого типа. В обеих случаях память, выделенная под объект, не инициализируется 0-ми. Автор кода об этом знает, например, в этом месте, когда после New(Result) выполняет FillChar(Result^, sizeof(TScData), 0):
На данный момент оно работает - просто по чистой случайности компилятор Delphi 4 с текущими настройками размещает созданные таким образом объекты в обнуленных участках памяти. Но нет никакой гарантии, что после каких-либо незначительных изменений в каких-либо случаях на месте объекта не окажутся какие-либо числа. Надо бы это как-то поправить или хотя бы принять к сведению. Редактировалось 1 раз(а), последний 2018-10-30 15:24:27 |
|||
карма: 26 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Netspirit, что по этим кодам надо ходить как по минному полю -- не есть для меня новость.
Плавали, знаем......................... Но, все равно -- спасибо за предупреждение Редактировалось 3 раз(а), последний 2018-10-30 15:21:51 |
|||
карма: 9 |
|
Ответов: 4632
Рейтинг: 749
|
|||
А я, собственно, сделал компиляцию обеих кодогенераторов новым FPC. Тогда с этим столкнулся и исправил.
|
|||
карма: 26 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Пусть повисит до завтра, может еще чего найдется.
|
|||
карма: 22 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Ну че, добавляем? Папку FTCG я вообще трогать не буду, меня туда не пускает, те файл CodeGen.dpr в папке FTCG останется оригинальным, меняю только все в папке delphi. Кстати, а что в комментах писать, че фиксим-то? Ну, вот это "fix: <бла-бла-бла>", желательно сразу на буржуйском?
|
|||
карма: 22 |
|
Ответов: 4632
Рейтинг: 749
|
|||
direct.inc: compilation errors with duplicated local variables in FTCG_Tools under some conditions И что там ещё правилось в других компонентах.Редактировалось 1 раз(а), последний 2018-10-31 13:00:55 |
|||
карма: 26 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
А че будем делать с hiFT_Math.hws, его надо обновлять или нет? Не нравится мне, что какими-то кусками правки делаются? Нельзя что ли все это одной кучей выложить?
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
nesco писал(а): Папку FTCG я вообще трогать не буду, меня туда не пускаетДа даже думать об этом не моги Если уж и придется вносить изменения (не дай бог, конечно же) в сам CodeGen, то он (измененный) должен лежать в нашей папке. С изменениями в make.bat, естественно. nesco писал(а): Не нравится мне, что какими-то кусками правки делаютсяУ нас 42 hws-файла. И все они именно так и сделаны - "какими-то кусками" Ну мне это тоже не нравится.......... Но я не могу уверенно шлифовать файлы, пока не владею инструментом в достаточной степени. Ну не нравятся мне декларации локальных из Init. Ну не знаю я чего делать с lang (в FT_For его тупо закомментировали), и в какое место его втулять надо по правильному. Вот мы не стали добавлять hiMathParse в BLK_UNITS, а перенесли нужное в share. А чего делать, если без такого не обойтись -- не знаю пока. Хотя, вообще-то, добавляют такое в uses из implementation а не из interface (т.е. - уже легкий глюк). А если вдруг наш элемент решит (в силу своей гениальности) свой же event реализовать как приватный метод... Куда размещать - подготовлено: объявления в BLK_PRIV_MTD, реализацию в BLK_MTD_BODY. А локальные куда, спрашивается -- не знаю пока. Видишь ли nesco, исправления в direct.inc, EditMultiEx.hws -- это все шлифовка системы, это как укрепление фундамента, замена дефектных стропил, и т.п. Коллега Netspirit говорит, что нужно бы какой-то свой share.hws завести (достойная мысль, между прочим). Не самое удачное время для надстраивания новых комнат, и/или расширения старых. Так что, бог с ним пока, с "не нравится". Главное, чтобы сейчас не нравилось меньше, чем не нравилось раньше. --- Добавлено в 2018-10-31 15:50:26 Ах да, про FT_Math... Вот, случайно увидел: Там в 27-м case неправильно стоит op2 (надо o2) А в 33-м case неправильно стоит op1 (надо o1). И это почему вдруг Abs стал возвращать целое - тоже непонятно (надо sub(r, 7) делать) Редактировалось 6 раз(а), последний 2018-10-31 16:00:29 |
|||
карма: 9 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Galkov писал(а): Ах да, про FT_Math (случайно увидел)Так, пока воздержимся Galkov писал(а): Ну не знаю я чего делать с lang (в FT_For его тупо закомментировали), и в какое место его втулять надо по правильному.Так, а с этим что делать, добавлять или тоже пока нафиг? --- Добавлено в 2018-10-31 16:11:57 Пофиксил hiEditMultiEx.hws и direct.inc Редактировалось 1 раз(а), последний 2018-10-31 16:11:57 |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Да добавляй все.
Хоть и не нравится Хуже-то уж точно не будет |
|||
карма: 9 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Galkov писал(а): Да добавляй всеВыложи исправленную версию FT_Math. |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Легко.
((скажем так - немного исправленную)) |
|||
карма: 9 |
| ||
файлы: 1 | hiFT_Math.rar [926B] [439] |
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Завтра добавлю.
|
|||
карма: 22 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Пофиксил все, что выложили.
|
|||
карма: 22 |
|