kami
-
Постов
643 -
Зарегистрирован
-
Посещение
-
Победитель дней
41
Сообщения, опубликованные kami
-
-
6 часов назад, Вадим Смоленский сказал:
нужно научиться перехватывать системное сообщение WM_IME_NOTIFY.
Нужно перехватывать в рамках своего окна / приложения / системы вцелом ?
-
-
В 11.02.2016 в 18:03, ophion сказал:
Вот пример того, как писать и читать BLOB
Друже! Ты прекратил мои мучения. Ибо всякие извращения с обращением Query.Fields('lalala').AsBytes и тому подобное приводили к AV на закрытии Query.
При этом тип поля - TVarBytesField (почему-то именно так распознается VARBINARY в SQLite...). -
15 часов назад, x11 сказал:
я готов, но Вы же молчите...
У меня большая просьба: вместо кучи маленьких сообщений, которые вы пишете буквально одно за другим, составьте одно, в которое напишите всё то, что хотели сказать.
Это не чат, где "кто в онлайне - прочитали, остальным пофиг". Это форум. И искать зерна истины в этой портянке из мимолетных мыслей как минимум неудобно.
-
1 час назад, rareMax сказал:
переехал на битБакет
А можно тогда запушить последнее изменение на гитхабе в Readme.md, чтобы всем было видно "ПРОЕКТ ПЕРЕЕХАЛ" ?
-
2 часа назад, x11 сказал:
Пожелание.
Не здесь надо писать. А на гитхабе заводить issue.
Это будет правильнее и нагляднее: сам проект лежит на гитхабе, там же значительно проще работать с багами / неудобствами.
Да и всем видеть как развивается проект - гораздо лучше.А здесь в толпе ваших сообщений я,к примеру, уже потерялся.
-
1 час назад, x11 сказал:
404
-
В 10.10.2018 в 10:49, Zyablik3000 сказал:
Сообщение не приходило потому что была криво заполнена структура TCopyDataStruct
Стандартная практика при работе с WinAPI - после выделения памяти под структуру заполнить ее нулями.
-
Постараюсь. Но всю неделю очень насыщенная программа...
-
11 часов назад, vasilius сказал:
Ехе маленький , и требует пакеты...
Значит глобальная настройка , выставленная в "All configurations - All platforms" перекрыта в наследниках, например в "Debug-Win32"
Но не в этом дело.Попробуйте методом последовательного исключения, вернее - включения.
Сперва избавьтесь от автолинковки "своих" dll, к примеру - видна загрузка какой-то NSI.dll. Если проблема пропала - постепенно включаем их. Не пропала - можно начать с чистого листа и постепенно дополнять новый проект своим кодом. На худой конец - просто пересоздать dpr и dproj, или что там аналогичное в билдере.
Ну и не забываем про Build проекту. Есть смутное подозрение, что собрали-то без рантайм-пакетов, но что-то не подхватилось и до сих пор приложение их хочет. А может - не приложение, а dll???Свалиться при инициализации ImageList, даже не доходя до своего кода - ну, это я не знаю :))) Может, винду переустановить? (шутка).
-
1 минуту назад, vasilius сказал:
может подскажите как
Нажать Break и посмотреть по стеку вызовов - где начинается ваш код.
-
-
15 часов назад, Hangar-18 сказал:
В Android такое не проходит
Действительно (сам не могу проверить - сужу по StackOverflow). Там же, на SO, кстати, советуют в качестве костылятора использовать онлайн-читалку pdf от Google ( например ).
Ну или - воспользоваться сторонним компонентом. Которые, увы, платные (насколько я прошерстил гугл)
-
TWebBrowser
-
В 15.09.2018 в 15:50, krapotkin сказал:
если с сервера приходит в UTF-8, все работает замечательно без всяких переделок
Даже более того - если с сервера приходит с указанием правильной кодировки (не обязательно UTF-8), то всё работает замечательно без всяких переделок. Ибо перекодирование автоматически производится во внутренностях http-клиента.
-
-
1 час назад, ramir сказал:
В dll выделили, в приложении освободили.
За сим дискуссию предлагаю считать законченной К сожалению, не вы один используете подобные грабли. Но не надо агитировать на подобное и других.
-
43 минуты назад, ramir сказал:
Тогда можно спокойно использовать GetMem/FreeMem и т.п
Я вас удивлю, но GetMem / FreeMem внутри инстанса можно использовать без ограничений, не задействуя ShareMem. Совершенно спокойно. И не только их.
Динамические, статические массивы, объекты и их списки, переменные идущие в анонимные методы - абсолютно всё требует выделения памяти. И это всё разруливается встроенным в инстанс менеджером.ShareMem нужен, если вы решаете что-либо подобное экспортировать из своего инстанса. Или принять извне. Но в этом случае - автор интерфейса длл и/или exe сам себе злобный Буратино.
-
15 часов назад, ramir сказал:
может потребоваться и память выделять в DLL...
Каким образом соотносятся выделение памяти в модуле и использование borlndmm.dll ?
Опять-таки, любой ShareMem никак не позволит скрестить модули, написанные в разных средах разработки. Да даже в рамках Delphi, но разных версий это может быть чревато https://stackoverflow.com/a/26900922/4908529
-
Не используйте дельфовые типы (в частности - строки как отдельно так и в составе record-ов) при передаче параметров в / из длл и не надо будет никаких костылей в виде borlndmm.dll и т.п.
Представьте, что ваша длл будет вызываться из приложения на C++ и используйте только совместимые типы для экспортируемых функций.Я думаю, не надо говорить, что экземпляры классов 100% не стоит передавать между длл и exe.
-
10 часов назад, Ivan B. сказал:
Запускаю приложение на смартфоне - все нормально (на нескольких пробовал).
Это случайность (с) Мастер Шифу.
-
Использовать вторую форму StrToDate, явно указывая FormatSettings. Свои, а не общесистемные.
-
6 часов назад, Вадим Смоленский сказал:
внутри функции CallNextHookEx еще много всякого разного может происходить
По большому счету там происходит всего одно: система смотрит, кто еще поставил хук такого же типа и вызывает его функцию. И далее и далее, пока не пройдет всех использовавших SetWindowsHookEx.
Повторю - хуков в системе даже "в штатном режиме" установлено великое множество. -
В 15.06.2018 в 19:23, Вадим Смоленский сказал:
Какой именно <>0?
Что может быть непонятно во фразе non-zero value из первоисточника? Скорее всего, возвращаемый результат интерпретируется как BOOL. У любого булеан-типа есть два значения: 0 = False, не 0 = True.
Что там присваивают конкретные компиляторы для значения True - это их проблемы. Сравнение всегда ведется с нулем.
В 15.06.2018 в 19:23, Вадим Смоленский сказал:А если, как советуют, присвоить CallNextHookEx(CurrentHook, nCode, wParam, lparam), то это всегда будет ноль, что ли?
Может да, а может и нет. Откуда вы знаете, какую логику заложили другие разработчики в свои хуки? Это исключительно их дело - считают ли они нужным
Цитатаto prevent the system from passing the message to the rest of the hook chain or the target window procedure.
Перехват сообщений в Windows
в Windows
Опубликовано
Это FMX. Оконная процедура устанавливается на конкретный хендл окна. А FMX раз по 100 пересоздает хендл. В результате установка NewWindowProc в качестве WndProc уходит в небытие.