SASGIS - SAS.Планета
View Issue Details
0003581SAS.Планета[All Projects] Хотелкаpublic19-11-2019 13:5720-11-2024 15:14
zed 
 
lowminoralways
newopen 
190707 
26xxxx 
0003581: Сборка 64-х битной версии SAS
Думаю, неплохо бы начать посматривать в этом направлении.

На текущий момент сборка невозможна как минимум из-за компонента TBX, в коде которого в небольшом количестве присутствуют ассемблерные вставки. Можно попробовать их переписать.

Что касается внешних библиотек, то за исключением парочки легаси (ECW и может быть BrkeleyDB), проблем быть не должно.
No tags attached.
related to 0003589closed zed Мигрировать с TTBXImageList на стандартный TImageList 
related to 0003597resolved vdemidov Переход на актуальную версию Graphics32 
related to 0003840new  Мигрировать с Toolbar2000/TBX на SpTBXLib 
related to 0003883resolved zed Использовать актуальные dll при запуске на Windows 7 и выше 
Issue History
19-11-2019 13:57zedNew Issue
19-11-2019 14:07vdemidovNote Added: 0019482
19-11-2019 14:09vdemidovNote Added: 0019483
19-11-2019 14:14zedNote Added: 0019484
19-11-2019 14:40zedNote Added: 0019485
19-11-2019 15:06vdemidovNote Added: 0019486
19-11-2019 15:10zedNote Added: 0019487
23-11-2019 13:23zedRelationship addedrelated to 0003589
23-11-2019 13:24zedNote Added: 0019513
27-11-2019 14:37zedNote Added: 0019518
01-12-2019 10:06zedNote Added: 0019524
06-12-2019 08:15zedRelationship addedrelated to 0003597
06-12-2019 08:17zedNote Added: 0019528
12-12-2019 11:00vdemidovNote Added: 0019562
12-12-2019 12:06zedNote Added: 0019563
12-12-2019 12:59vdemidovNote Added: 0019566
23-11-2022 11:44zedRelationship addedrelated to 0003840
20-12-2023 07:52zedRelationship addedrelated to 0003883
10-11-2024 09:18zedNote Added: 0020499
20-11-2024 15:14zedNote Added: 0020500

Notes
(0019482)
vdemidov   
19-11-2019 14:07   
Глянь поддержку 64 бит в SpTBXLib. Будет хорошая причина перейти на эти компоненты.
(0019483)
vdemidov   
19-11-2019 14:09   
Еще можно воспользоваться вот этой идеей: http://programmingmindstream.blogspot.com/2017/01/1333-64-integer.html
(0019484)
zed   
19-11-2019 14:14   
Да, SpTBXLib поддерживает x64 и за компанию предоставляет патч для TB2K с поддержкой HighDPI и x64.

Ссылка полезная, спасибо, надо будет воспользоваться.
(0019485)
zed   
19-11-2019 14:40   
Нашёл TBX и TB2K с поддержкой x64 и HighDPI:

https://github.com/plashenkov/TBX
https://github.com/plashenkov/Toolbar2000
(0019486)
vdemidov   
19-11-2019 15:06   
Может стоит TBX и TB2K вынести из SAS.Requires в отдельные репы?
(0019487)
zed   
19-11-2019 15:10   
Да, теперь определённо стоит. Но ввиду предстоящего перехода на git, это можно сделать одновременно с переходом.
(0019513)
zed   
23-11-2019 13:24   
У TBX с гитхаба не хватает компонента TTBXImageList и похоже, без него можно обойтись: 0003589
(0019518)
zed   
27-11-2019 14:37   
С TBX и TB2K с гитхаба, прилепленным сбоку TTBXImageList и последними фиксами в сорцах SAS, компиляция под Win64 прошла успешно.
(0019524)
zed   
01-12-2019 10:06   
Собрал основные длл: sasplanet.bin-x64.zip (дополнительно требуется рантайм MSVS 2017).

SAS запускается, показывает лого, главное окно и падает. Дебагер стек вызовов не показывает и где падает, подсказать не может. Пошаговой отладкой дошёл до строки VApp.Run в SASPlanet.dpr и потом упало, видимо, беда где-то в главной форме.
(0019528)
zed   
06-12-2019 08:17   
Есть большое подозрение на несовместимость старого GR32 и Win64. Добавил тикет про актуализацию GR32: 0003597
(0019562)
vdemidov   
12-12-2019 11:00   
Как повлияло обновление GR32?
(0019563)
zed   
12-12-2019 12:06   
Никак, всё так же падает с пустым стектрейсом.
(0019566)
vdemidov   
12-12-2019 12:59   
Видимо что-то еще есть эдакое. Нужно отключать по возможности все зависимости и смотреть когда же попустит. Ваш Капитан Очевидность. :)
(0020499)
zed   
10-11-2024 09:18   
Падало из-за EmbeddedWB и его хука на события мыши. Там было какое-то низкоуровневое безобразие, для передачи указателя на метод объекта (вместо ожидаемого указателя на обычную функцию). Переписал, поправил приведение типов при вызове winapi функций и всё завелось.
(0020500)
zed   
20-11-2024 15:14   
Сделал тестовую сборку: SAS.Planet.Test.x64.241120.zip

В теории должно заработать всё, за исключением кэша в СУБД: для него не удалось скомпилить TileStorage_DBMS.dll даже под win32, так что очень вероятно, что поддержки не будет вовсе.

Кэш Беркли работает после очистки папки env от файлов __db.* (зайти в папку и удалить 7 файлов вручную). Эти файлы чувствительны к разрядности приложения и не могут использоваться кроссплатформенно.