![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дочерние окна [D7, Win2k, WinXP]
IntruderLab © (2008-05-29 11:03:00)Вопрос вобщем-то вот в чем, в программе дочерние окна содержаться в dll, при запуске программы в winXP все работает прекрасно, при запуске win2000 в момент вызова процедуры открытия дочернего окна вылетает ошибка. Как с этим бороться?
Renegat_ (2008-05-29 16:54:00) [1]А может быть, дело в "ошибке 2000"? %)
Сергей М. (2008-05-29 16:41:00) [2]
> LoadKeyboardLayout(StrCopy(Layout,'00000419'),KLF_ACTIVATE);
А это что за танцы с бубном ?
Почему не просто LoadKeyboardLayout('00000419',KLF_ACTIVATE) ?
Сергей М. (2008-05-29 16:32:00) [3]
> еще до обращения к коду (типа в Init)
Никаким Init в приведенном тобой в [19] коде даже не пахнет.
Т.е. ты предоставляешь заведомо недостоверную инф-цию и при этом ожидаешь какой-то конкретной помощи)
Сергей М. (2008-05-29 16:25:00) [4]
> из-за вызовов ошибка может в 2000 выскакивать или в чем?
ошибка может быть где угодно, когда ты не понимаешь что ты делаешь
Сергей М. (2008-05-29 16:20:00) [5]
> Код нигде не сдирал, просто в учебнике был вызов stdcall
Ну вот с учебника и содрал. Бездумно)
IntruderLab (2008-05-29 16:18:00) [6]Код нигде не сдирал, просто в учебнике был вызов stdcall и стал применять как следствие, и все таки, из-за вызовов ошибка может в 2000 выскакивать или в чем?
Сергей М. (2008-05-29 16:15:00) [7]
> а что тогда лучше safecall использовать?
Лучше отложить на время строгание кода и почитать соотв.литературу.
Или хотя бы станд.справку Делфи на тему "calling conventions".
Судя по тому, что ты до сих пор не сделал этого, код был где-то содран тобой совершенно бездумно. Чему ж тут удивляться, если этот код не работает)
IntruderLab (2008-05-29 16:10:00) [8]дак а что тогда лучше safecall использовать?
Сергей М. (2008-05-29 16:02:00) [9]Только прежде надо понимать, чтоты хочешь и что ты для этого делаешь)
К примеру, судя по stdcall, ты вознамерился использовать свою dll в модулях, собранных в иных средах разработки, нежели Делфи или BCB. Откуда там возьмутся дельфийские MDIParent-формы - одному тебе известно)
IntruderLab (2008-05-29 15:56:00) [10]Да я и чую :) Лана, спасибо! Как разберусь напишу чего было :)
Сергей М. (2008-05-29 15:54:00) [11]Ну так а кто за тебя это будет делать ?)
IntruderLab (2008-05-29 15:48:00) [12]Дак отлаживать надо в 2000
Сергей М. (2008-05-29 15:48:00) [13]берешь отладчик и выясняешь)
IntruderLab (2008-05-29 15:45:00) [14]Мне важно знать - почему работает в ХР и не работает в 2000
Сергей М. (2008-05-29 15:36:00) [15]Чтобы она заработала, надо четко осознавать происходящее в ней)
А ты до сих пор не знаешь, то ли убирать stdcall то ли не убирать, то ли функция тебе нужна то ли процедура)
IntruderLab (2008-05-29 15:23:00) [16]Мне надо, чтобы программа заработала на win2000 :) в идеале :) на ХР работет прекрасно :)
Сергей М. (2008-05-29 15:10:00) [17]Смотря что тебе надо)
IntruderLab (2008-05-29 15:07:00) [18]Тогда вопрос, что мне сделать?
Сергей М. (2008-05-29 14:52:00) [19]
> Сейчас тогда уберу
Зачем ?)
> получается что мне лучше все функции гда формы вызывается
> без ответных параметров - сделать процедурами?
А как будешь результат возвращать ?)
IntruderLab (2008-05-29 14:43:00) [20]Сейчас тогда уберу. И получается что мне лучше все функции гда формы вызывается без ответных параметров - сделать процедурами?