|
|
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
Есть функция в DLL, использующая стандартный диалог, например: library Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. При вызове: exe Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. На SaveDialog.Execute происходит AV. Если тот же код библиотеки скомпилировать на Delphi 2007 - AV нет. Что-то не так с Vcl.Dialogs? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2018, 19:00 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
А отладчик у тебя тоже в Delphi 2007 остался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2018, 19:21 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
Падает на первой строчке TOpenDialog.DoExecute (см. картинку). По F7 доходит до _UStrClr, но это ничего не дает. Использование дата модуля с закинутым на него TSaveDialog'ом не помогло. Передача хэндла формы в функцию так же не поменяло поведение: Application.Handle := AHandle; SaveDialog := TSaveDialog.Create(Application); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 10:44 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
Картинка слетела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 10:44 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
авторПадает на первой строчке TOpenDialog.DoExecute (см. картинку). По F7 доходит до _UStrClr, но это ничего не дает. а посмотреть в отладчике значения проверяемых переменных и руками раскидать бряки в вызываемых функциях - не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 13:55 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
Vizit0r, В этой строке все переменные известны (Win32MajorVersion = 6, UseLatestCommonDialogs = True, Template = nil, все события не определены), кроме 2-х: IsNewCommonCtrl и IsAppThemed. Первая (IsNewCommonCtrl) - заинлайнена: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. и поэтому я не могу в нее зайти. Однако я попадаю в GetFileVersion(comctl32), которую IsNewCommonCtrl вызывает, и она успешно выполняется. IsAppThemed определена в Winapi.UxTheme следующим образом: Код: pascal 1. Никакие темы в dll само собой не используются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 19:19 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
Так, а вот в IsAppThemed-то не определена, поскольку InitThemeLibrary не был вызван. Принудительный вызов InitThemeLibrary перед SaveDialog.Execute починил AV. Но такое решение выглядит бредом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2018, 19:27 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
Они не предположили, что в dll будут использоваться диалоги. Пишите в QC. По идее там надо Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 00:19 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
nicholaosТак, а вот в IsAppThemed-то не определена, поскольку InitThemeLibrary не был вызван. Принудительный вызов InitThemeLibrary перед SaveDialog.Execute починил AV. Но такое решение выглядит бредом. Решение вызывать диалог из DLL выглядит бредом, а принудительная инициация тем - весьма логична. В 10.1, кстати, условие чуть шире, но IsAppThemed по-прежнему вызывается без проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 10:05 |
|
||
|
Из новых (XE8) DLL нельзя вызывать TOpenDialog/TSaveDialog?
|
|||
|---|---|---|---|
|
#18+
X-CiteОни не предположили, что в dll будут использоваться диалоги. Пишите в QC. По идее там надоТокуо 10.2 Update 3 Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2018, 13:54 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39674867&tid=2040609]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 460ms |

| 0 / 0 |
