|  Не компилируется старый проект в GNAT2011 | 
 Внимание!
 Внимание!1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.   
В описании темы указываем язык!!! 
|   | 
|  Не компилируется старый проект в GNAT2011 | 
| TarasBer |  22.10.2012 13:11 
				 Сообщение
					#1				
			 | 
|  Злостный любитель      Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация:  62    | Я тут когда-то выкладывал программу, которая графики рисует и всё такое.  Мне вдруг эта программа очень понадобилась, но старые ехе не сохранились нигде. Программа собрана в GNAT2010. Однако при сборке в GNAT2011 выдаётся предупреждение, что-то типа что вызывается инициализатор объекта, которого не существует и типа будет ошибка при запуске (повторить флаги, при которых выдаётся это предупреждение, не удалось). И вправду, exe при запуске сразу закрывается. Плюс со средой что-то стало: при попытке запустить программу (даже новую) из среды выдаётся ошибка: Код [2012-10-22 14:09:29] Could not locate executable on path:  Переустановка не помогает. В общем, что делать (с проектом (где в нём ошибка) и средой), программа вдруг стала позарез нужна? На всякий случай добавляю исходники, в том виде, в котором у меня они есть. Прикрепленные файлы  Func_Graph_Test.rar ( 26.11 килобайт )
Кол-во скачиваний: 647 -------------------- | 
| IUnknown |  22.10.2012 19:55 
				 Сообщение
					#2				
			 | 
|  a.k.a. volvo877      Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация:  627    | Где б взять еще 2011, чтобы проверить... 2012 прекрасно собирает проект, и запускает, кстати:  только изменил первую строку GPR-файла на with "win32ada.gpr";, и изменил структуру папок:  (так они должны быть судя по GPR-файлу, вот по этой записи: for Source_Dirs use (".", "..\UNITS\**"); папка где лежит GPR должна быть на одном уровне с папкой UNITS, а не UNITS должен быть вложен в нее). Кроме этого, нашел на старом диске версию, скомпилированную еще GNAT 2009-ым (тот самый проект, который ты выкладывал как-то на форум), но запустить у меня ее, естественно, не получилось, поскольку DLL-ки уже обновились, и требуются другие версии. Но на всякий случай приложу результат компиляции 2009-ой версией тоже. Вот:  func_graph_test_09.zip ( 287.24 килобайт )
Кол-во скачиваний: 799  func_graph_test_12.zip ( 215.92 килобайт )
Кол-во скачиваний: 788 Сообщение отредактировано: IUnknown - 22.10.2012 19:55 | 
| -TarasBer- |  22.10.2012 20:50 
				 Сообщение
					#3				
			 | 
| Гость  | Во, за екзешник спасибо, очень нужен! Правда ерунда с кодировкой в заголовке окна смущает, но это ладно. Новая структура папок мне не нравится, ибо по замыслу UNITS она как бы одна на все проекты. | 
| IUnknown |  22.10.2012 22:34 
				 Сообщение
					#4				
			 | 
|  a.k.a. volvo877      Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация:  627    | |
| TarasBer |  23.10.2012 9:24 
				 Сообщение
					#5				
			 | 
|  Злостный любитель      Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация:  62    | А заголовки окон в английской версии быть русскими не могут? Дело в том, что я пытался и сами окна создавать через CreateWindowW, но в заголовке была какая-то ерунда, хотя я текст в них отправлял так же, как и в кнопки, поля ввода итд, поэтому я для окон сделал исключение. -------------------- | 
| IUnknown |  23.10.2012 10:34 
				 Сообщение
					#6				
			 | 
|  a.k.a. volvo877      Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация:  627    | Могут. Но для этого надо приложить дополнительные усилия. Мало того, что нужно создавать окна через CreateWindowW, так еще и текст, который будет отправляться в заголовок, должен сохраняться не редактором GPS, а сторонним. Дело в том, что для корректной работы с заголовками окон (странно, но это так. С остальным кириллическим текстом это не так критично, хотя тоже желательно) нужно текст хранить в UTF8 with BOM, чего редактор GPS не делает, он хранит без BOM. Поэтому обычно я делаю проще: все (даже не только кириллические) строковые константы выношу в отдельный модуль, который редактирую другим редактором. Можно редактировать и GPS-овским, но перед сборкой обязательно пересохранить сторонним в нужном формате. with Interfaces.C;, а потом создается окно: function To_LPCWSTR is | 
| TarasBer |  23.10.2012 12:02 
				 Сообщение
					#7				
			 | 
|  Злостный любитель      Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация:  62    | А дописать BOM к строке принудительно прямо в GPS можно? Типа UTF8_BOM : constant char := ... Main_Class : constant Interfaces.C.wchar_array := UTF8_BOM & "TestAppClass" & Interfaces.C.wide_nul; -------------------- | 
| IUnknown |  23.10.2012 13:57 
				 Сообщение
					#8				
			 | 
|  a.k.a. volvo877      Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация:  627    | Нет, нельзя. BOM относится не к отдельной цепочке символов, а ко всему файлу. И стоять этот самый признак должен не в начале строки, а именно в начале исходника, который эту строку содержит. | 
|   | 
|   | Текстовая версия | 1.11.2025 0:05 |