169 похожих чатов

Ничего в глаза не бросается из-за чего вылетает ошибка при

тыканьи мышкой в ячейку грида на 64 битах D11? На 32 работает
Не знаю как подступиться
procedure TdxInplaceEdit.DefaultHandler(var Message);
begin
if not IsEditClass then
case TMessage(Message).Msg of
// TODO: test + non Edit
WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_MBUTTONDOWN:
if not (csDesigning in ComponentState) and (GetFocus <> Handle){not Focused} then
Windows.SetFocus(Handle);
end;
// if IsEditClass and (csDestroying in ComponentState) then Exit;
inherited;
end;

20 ответов

77 просмотров

ну для начала проверь типы (их объявление) это dx какой версии?

alexey t
ну для начала проверь типы (их объявление) это dx ...

вообще для x64 можно потеребонькать встроенный менеджер памяти чтоб он возвращал указатели уже за пределами 4Гб. пихнуть что нибудь типа x = 6; var l: array of Pointer; i: Integer; begin SetLength(l, 1024 * 1024); for i := Low(l) to High(l) do GetMem(l[i], 1024 * x); в инициализацию самого первого юнита. тогда ошибки распределения памяти будут сразу видны rangecheckerror‘aми. а не рандомными крешами ну и стандартно проверять места места с кастом указателей и маскированием Integer( Cardinal( Longint( Longword( Long( итд

а стек та где?

Катерина-Свиридова Автор вопроса
zamtmn
а стек та где?

Спасибо. Что-то глюканула. Похоже это оно. Ща разберусь with Params do begin System.Move(S[1], WinClassName[0], Length(S)); WinClassName[Length(S)] := #0; end;

alexey t
вообще для x64 можно потеребонькать встроенный мен...

fastmm4 и так это делает. Первая попавшая под руку аллокация $7FF4FDB3BD40

Катерина-Свиридова Автор вопроса
Катерина Свиридова
Спасибо. Что-то глюканула. Похоже это оно. Ща разб...

Оказалось хуже, чем думала. Редактором ячейки может быть разный класс RichEdit ('RICHEDIT', 'RICHEDIT20W', 'RICHEDIT50W' или какой-то другой), который берется из разных dll ('Riched32.dll', 'Riched20.dll', 'Msftedit.dll') Вроде все перепробовала для 64, либо ломается, либо ничего не вводит. Ну надо же было именно это поле потянуть, придумщики - капец

Катерина-Свиридова Автор вопроса
Катерина Свиридова
Оказалось хуже, чем думала. Редактором ячейки може...

Ну кто так пишет! То longint, то integer, то правильный LPARAM. Исправила на него все и заработало procedure TdxInplaceTextEdit.Deselect; begin // SendMessage(Handle, EM_SETSEL, $7FFFFFFF, Longint($FFFFFFFF)); SendMessage(Handle, EM_SETSEL, $7FFFFFFF, LPARAM($FFFFFFFF)); end; procedure TdxInplaceTextEdit.SetSelTextBuf(Buffer: PChar); begin // SendMessage(Handle, EM_REPLACESEL, 0, LongInt(Buffer)); SendMessage(Handle, EM_REPLACESEL, 0, LPARAM(Buffer)); end;

Катерина Свиридова
Ну кто так пишет! То longint, то integer, то прави...

Как-то был эпизод в "карьере" - пришлось один из проектов с "предысторией" переводить с D7 на D10. С DevExpress-ом было больнее всего. 2-3 недели активной ... с написанием собственных утилит только для того, чтобы скомпилилось и не крашилось при открытии основных форм. Проект только форм несколько тысяч, а тимлид на вопрос может это уже не все нужно ответил, что ни кто из ныне здравствующих не понимает что уже не актуально в проекте и что можно выкинуть (не портировать). Итого: DevExpress это конечно круто, но с массой своих "особенностей".

Катерина-Свиридова Автор вопроса
Алексей Труфманов
Как-то был эпизод в "карьере" - пришлось один из п...

Я версию dx7 привела к тому, что она заработала на D11. Поэтому формы править не пришлось, иначе бы на них погибла)

Катерина Свиридова
Я версию dx7 привела к тому, что она заработала на...

А потом как с этим жить планируете при появлении новых версий DevExpress? Всю жизнь на dx7 (пусть даже на поправленных) грустно как-то.

Катерина Свиридова
Я версию dx7 привела к тому, что она заработала на...

это какой-то гибрид коммерции и опенсорса. когдато давно купил, сейчас поправил... только пулреквест слать некуда(( Несмотря на героические усилия и проделанную работу ничем хорошим такой подход не закончится

zamtmn
это какой-то гибрид коммерции и опенсорса. когдато...

это не 'героические усилия', это обычная работа. не сильно, к слову, и большая затем код и покупают, что бы когда-то его править

Handatros
это не 'героические усилия', это обычная работа. н...

править чужое, а потом таскать его с собой? чтото пошло не так

zamtmn
править чужое, а потом таскать его с собой? чтото ...

Не у всех есть возможность и знания писать все свое, кому то придется таскать чужое :)

Алексей Труфманов
Как-то был эпизод в "карьере" - пришлось один из п...

Тут сейчас люди проконсультировать просили меня по поводу портирования ихнего софта, у них в проекте тот самый devexpress везде понатыкан где надо и где не надо. Че с ними делать хрен его знает, смотреть надо.

Катерина-Свиридова Автор вопроса
Алексей Труфманов
А потом как с этим жить планируете при появлении н...

Так давно появились CX, будто специальное не совместимое издевательство над народом) Тут не знаешь, что через полгода будет. На какую операционку кинут. А мне ещё два сервиса перевести на 64 бита и один немаленький проект, которые тоже пока на D7

Константин Тимофеев
Тут сейчас люди проконсультировать просили меня по...

1. Там попа будет еще и в том, что не все типы, контролы, наименования пропертей, обработчиков и много чего еще дожили там до текущего момента в принципе. 2. Единственный вариант который я посчитал для себя приемлемым - это писать свою утилиту, которая хранила вложенные "иерархические" шаблоны замен в JSON-е, перебирала все pas и dfm и правила их с учетом кучи доп. параметров. Все это на регулярках. Принцип: нашли затык - добавили в JSON новый шаблон(ы) - потенциально созданный шаблон поправил кучу аналогичных моментов. и т.д. итерационно. 3. Если/когда удалось из 4 букв (А,Ж,О,П) выложить слово СЧАСТЬЕ - т.е. проект даже скомпилился, то начинается следующий интересный не автоматизируемый этап - понять что хотели написать разрабы предыдущих N поколений и добиться, что бы как минимум формы не крашились и не уходили в AV при открытии. 4. Отдавать тестерам и ...

Катерина-Свиридова Автор вопроса
Алексей Труфманов
1. Там попа будет еще и в том, что не все типы, ко...

Одно из модных нововведений заметила в разных компонентах: стали вместо свойства множества типа options бить на отдельные булеан свойства. Веселуха такое править, хорошо, если из dfm можно убрать и ифдефами обложить

Алексей Труфманов
1. Там попа будет еще и в том, что не все типы, ко...

Понятно. Ну ещё можно попробовать изобразить затычку из стандартных компонентов. Посмотрим вобщем

Похожие вопросы

Обсуждают сегодня

Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
Code Explorer / обновление содержимого окна, задержка - задержка, по моему, слишком большая, примерно 1 сек, хотелось-бы установить - макс. быстро - в настройках ide не нашел...
livontiy
1
Карта сайта