|
|
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. Подчеркивается handle и ошибка E2003 Undeclared identifier: 'Handle' Как убрать её? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:35 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
apexplsql Код: pascal 1. 2. 3. Подчеркивается handle и ошибка E2003 Undeclared identifier: 'Handle' Как убрать её? не использовать необъявленный идентификатор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:38 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Квейд, Handle это идентификатор, мне просто надо скрыть знаек из панель задач. Везде написано что надо так это делать но у меня handle все время подчеркивается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:45 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
apexplsqlКвейд, Handle это идентификатор, мне просто надо скрыть знаек из панель задач. Везде написано что надо так это делать но у меня handle все время подчеркивается Application какого типа переменная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:50 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
apexplsqlВезде написано что надо так это делать но у меня handle все время подчеркивается Консольное приложение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:50 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
apexplsql, Uses Forms есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:51 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
apexplsql, Кстати, есть сомнения в правильности IsWindowVisible(Application.Handle). Может лучше Application.MainForm.Handle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:53 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
wadman, Да, просто консоль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:54 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
DarkMasterКстати, есть сомнения в правильности IsWindowVisible(Application.Handle). Может лучше Application.MainForm.Handle? Зависит от версии Delphi и состояния MainFormOnTaskbar. Попытка скопировать код без его понимания в очередной раз родит говнокод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:55 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
apexplsqlwadman, Да, просто консоль Ну и какой Application у консоли?-) Не, можно конечно и зайца научить курить, но зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:57 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
apexplsqlДа, просто консоль Окно для консольного приложения показывает не само приложение, а система. Откуда следует, что значком на панели задач невозможно манипулировать изменяя объекты приложения. В отличие от консольного, GUI-приложение свои окна создаёт само, поэтому имеет полный контроль над ними - включая значок на панели задач. Однако, вызывающий консольного приложения может указать параметры его запуска. В т.ч. безоконный режим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 13:59 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
DarkMasterесть сомнения в правильности IsWindowVisible(Application.Handle) авторProvides access to the window handle of the main form (window) of the application. Думаешь, отличаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 14:00 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
wadmanDarkMasterесть сомнения в правильности IsWindowVisible(Application.Handle) авторProvides access to the window handle of the main form (window) of the application. Думаешь, отличаются? А вот не помню - что-то в голове крутится,а вспомнить не могу - склероз :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 14:03 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Конечно, отличаются. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Это отдельное окно, которое создаётся всегда (да, даже если MainFormOnTaskBar = True). авторProvides access to the window handle of the main form (window) of the application. Это явная ложь. Она появилась из-за попытки объяснить неочевидное устройство окон в старых версиях Delphi простыми словами. И до сих пор никто документацию не поправил. Смысл этих слов: если вам нужно окно-родитель (кнопка на панели задач) в старых версиях Delphi (или в новых, но с MainFormOnTaskBar = False) - то берите Application.Handle, это корень иерархии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 14:18 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Немного истории от разработчиков Delphi: https://stackoverflow.com/questions/2204804/delphi-what-is-application-handle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 14:22 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Никогда не понимал что же именно делает MakeObjectInstance(), хотя читал много и медленно вдумчиво. А главное - зачем оно это делает? Делать как делают все WinAPI программы нельзя было почему-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 15:35 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Салямихотя читал много и медленно вдумчиво. Вроде прозрачно написано: This can be particularly useful when using classes that do not have a Windows handle but need to receive Windows Messages. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 15:48 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
СалямиНикогда не понимал что же именно делает MakeObjectInstance()Делает метод класса оконной процедурой, которую может вызывать Windows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 15:49 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
не... Оно вроде как делает какой-то некий динамический код, который получается regular procedure, и просто вызывает заданный метод конкретного захардкоденного экземпляра класса. А я не понял ни механику данного действа, ни нафига так извыворачиваться... В других библиотеках вроде ж таких финтов не проворачивают, и всё ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 16:03 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Салями, я могу ошибаться, но предполагаю, что было желание не использовать доступные в WinAPI user-параметры (типа GWL_USERDATA и т.п.), оставляя их свободными для внешнего кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 16:10 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
гм... Всё может быть... Но обычно все спокойно используют GWL_USERDATA, и сабклассингу это не мешает, вроде наоборот даже упрощает. А если зачем-то сильно нужно не трогать GWL_USERDATA - есть второй вариант: SetProp(). С которым в VCL вроде как тоже малость перемудрили: https://habrahabr.ru/post/217189/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 16:26 |
|
||
|
Ошибка на handle
|
|||
|---|---|---|---|
|
#18+
Салями, делало ... сделано это было что бы натянуть безобразие из WinAPI на объектную модель, тогда ещё в винде не было поддержки сабклассинга кроме того, это быстрее чем любые словари авторuser-параметры (типа GWL_USERDATA и т.п.), оставляя их свободными для внешнего кодаЭто не сильно мешает, в tagWNDCLASSEX есть информация сколько экземпляр окна потребляет байт под свои нужды. Для корректного "наследовании" и использовании готового класса эту информацию нужно учитывать, а не лупить сразу по [GWL_USERDATA]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2018, 16:50 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39621164&tid=2041086]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 479ms |

| 0 / 0 |
