Есть большое и сложное (и неаккуратно написанное) приложение. При закрытии одной из форм иногда случается зависание. Опытным путём установлено, что возникают Access Violation. Есть подозрение, что для некоторых объектов удаление вызывается несколько раз (например, сначала непосредственно, а потом вместе с формой, которая является Owner). Захотелось при каждом вызове TObject.Free где-нибудь фиксировать, какой именно объект удаляется, а потом проанализировать последовательность удалений и выявить ...
Доброго дня!
Парни, кто может подсказать. Проблема в следующем.
Склеиваю вордовские файлы (Д7), но условие – при склейке, на новом листе куда тянем данные источника нужно выставить размеры полей и ориентацию листа как у источника.
Набросал пример, с одним файлом все работает.
Но при подтягивании следующего файла и выставлении параметров – настройки применяются не к конкретному листу, а всему документу!
Пробовал решить вопрос поиском, как сменить позицию курсора, но не получается к ...
Всем добра.
Есть задача вытаскивать из базы MS SQL данные по ID.
ID никак логически не связаны, поэтому сделал условие IN (...).
Пока в массиве около 50 элементов работает очень быстро.
Но в будущем может быть несколько сотен. WHERE содержит ещё пару условий, а сам запрос имеет несколько JOIN.
Если у кого-нибудь опыт или теоритические знания о том, как конструкция IN работает с большими массивами?
Каков максимальный размер массива для приемлемой работы? ...
Что-то не могу реализовать простейшее.
Есть TreeView, которое грузится из БД.
Добавляю новый узел, перезагружаю дерево (это касается только level = 1, поэтому не напряжно).
Хочу выделить (и раскрыть) узел, на котором пролизошло добавление.
Но почему-то код ниже не работает. Выделяется соседний узел.
[Code]i:=TV.Selected.Index;
try
// здесь должно быть добавление в базу записи,
// которая потом будет дочерним узлом для выделенного
// но пока ничего не добавляется, поэтому не д ...
Доброго времени суток. Написал реализацию генератора случайных чисел с использованием счетчика тактов процессора и счетчика миллисекунд. Теперь задаюсь вопросом, возможно ли в Lazarus сделать так, чтобы вместо стандартного Random вызывалась некая функция MyFuncRandom без изменения в коде какой-либо программы, которая вызывает стандартный Random? ...
Приветствую уважаемых коллег.
Суть вопроса: база MS SQL. Имеется запрос с группировкой. Необходимо добавить в результат запроса некий CAPTION, который является текстовым блобом.
В group by это поле не добавить, т.к. блоб. Изменить тип поля нет возможности.
Можно ли как-то решить эту проблему? ...
Добрый всем день!
Как можно вытащить поле "Кем сохранен" из свойств файла в вкладке "Подробно" для Excel.
ЗЫ. Хотел приложить картинку, не нашел как. ...
На форме лежит компонент TDBDateTimeEditEh, у которого есть такая особенность: дату можно увеличивать и уменьшать на единичку стрелками вверх-вниз, но TDBDateTimeEditEh.Value изменится только после того, как будет выполнено обновление (например, при переходе фокуса на другой компонент). А ещё на форме есть TBitBtn, у которого свойство Default равно true. И вот тут получается маленькая неприятность...
Допустим, мы стрелками сменили значение даты, но не перешли ни на какой другой компонент, а н ...
Вопрос по сокетам
В локальной сети в броузере корректно работает примерно такой вот запрос
http://aa-bbb-cc:8080
Когда я пытаюсь выполнить вот такой код
code:Result := false;
with TTcpClient.Create(nil) do
try
RemoteHost := 'aa-bbb-cc';
RemotePort := '8080';
Result := Connect;
Disconnect;
finally
Free;
end;
соединение не устаналивается, Result = false
Но если вместо имени хоста подставить ip-адрес, то всё работает?
Можно ли как-то научить сокет понимать им ...
Всем здравствовать.
Подскажите, пожалуйста, путь решения следующей хотелки:
Имеется некий базовый класс T0 с полем типа TItem0 базового типа.
Хочу, чтобы в потомках T0 свойство Item имело конкрентный тип (TItem1, TItem2 и тд), возможно, только с перегрузкой GetItem.
Можно, конечно, возвращать тип TItem0 и приводить его к нужному типу за пределами класса при необхордимости. Но мне это не кажется красивым.
Подозреваю, что это надо реализовывать с помощью генериков, но два часа опытов разбил ...
Как запустить поток для фрейма?
В отдельном модуле имею TfrUn = class(TFrame) в нём есть TMemo, в нём очень большой обработчик действий, которые в свою очередь оказывают влияние на другие элементы этого фрейма и основного модуля (Обработчик обрабатывает все изменения в TMemo, перебирает все строки при любом изминении). Но как таковой переменной в фрейме frUn: TfrUn; не объявляется.
В основном модуле есть pcProg: TPageControl; в нём динамически создаю страницу и создаю экземпляр объект типа Tf ...
Приветствую всех.
Хочу узнать мнение коллег об организации объектной базы данных, над которой планирую работать в скором будущем.
SQL сервер Firebird 2.5 (как минимум). У нас в организации уже работает объектная база, где поля объектов разнесены по физическим таблицам согласно их типу данных.
Опыт показал, что такой подход напрягает сервер и обслуживание слишком сложное, т.к. "рабочие таблицы" находятся на более высоком в виртуальном уровне.
Мне кажется более оптимальной реалицация: класс ...
Добрый день.
Понадобился редкий и небольшой обмен данными по локальной сети между двумя программами. Почитал книгу Антона Григорьева и решил пойти "легким путем", используя TUdpSocket с вкладки "Internet". Для проверки использовал localhost (как "localhost" и как 127.0.0.1 при отключенной сети). Компонент успешно передает пакеты, снифер их получает, но порт приема (LocalHost:LocalPort) остается свободным. Пробовал передавать и принимать на один порт, запускать две копии программы, отправлять UD ...
Потребовалось мне разработать UDF для Firebird. которая возвращала бы значение типа BLOB. Причём, бинарный, а не текстовый. Сделал по образу и подобию. Получение входных данных, их преобразование и сохранение результирующих данных в буфер проблем не вызвало. А вот с переносом данных в выходной параметр возникли проблему.
Код примерно вот такой
[Code]procedure Buf2Blob(BufPtr: Pointer; BufLen: Integer; Blob: PBlob);
begin
Blob^.blob_put_segment(blob^.blob_handle, PISC_UCHAR(BufPtr), BufL ...
D7, W10, 1920x1080
Почему, при начертании линии шириной кратной 2 пикселям (2,4,6 и т.д.) именно по горизонтали
в Image или на Bitmap, без разницы, линия с начала левого края, рисуется без одного пикселя?
Линии шириной 1,3,5 и т.д. рисуются полностью.
Мой код для рисования:
with Image1.Canvas do
begin
Pen.Width := 2;
Pen.Color := clBlack;
MoveTo(0,5); // Начало
LineTo(Image1.Width,5);//конец горизонтальной линии
end;
...
Доброго времени суток!
Появилась задача получать webhook от одного сервиса, коректировать его и отправлять другому сервису. Мои познания в этом вопросе примерно ноль. Пытался что-то искать в интернете, но все описания туманны и больше похожи на филосовские разсуждения, чем на практические советы.
Подскажите с чего начать и в какую сторону идти.
Классы, свойства, функии, параметры...
А я со своей стороны по ходу решения вопроса буду выкладывать результаты своей работы с кодами и коментариями ...
Воскресенье, 01 Сентября 2024 г. 15:20
+ в цитатник
Ребята, реально мы сейчас заходим сюда чтоб изредка ответить на вопросы неизвестных нам людей. Или ответить на вопросы известных. Здесь остались хорошие программисты, которые любят какие-то задачи, которые готовы поделиться, которым интересно программирование, как профессия, как любовь Десять-пятнадцать человек (в лучшем случае). И до сих пор не наскучило. Давайте устроим вечеринку для себя? В этой ветке будем делиться идеями. Например, для начала: лучший класс стека. Думаю, GEO напишет с разу ...
Доброго времени суток!
Ещё вопрос. Точнее, два в одном.
Один сервис возвращает DateTime stamp в виде 13-значного целого числа (например, 1723107180737). Очень похоже на количество миллисекунд, прошедших с 01.01.1970. По карйней мере, если отбросить три последние цифры и вызвать UnixToDateTime, то получим что-то очень похожее на правду (08.08.2024 08:53:00). Правда, скорее всего, это по Гринвичу, так как в Москве было уже 11:53. Законный ли это способ, или есть что-то другое, работающее име ...
Доброго времени суток!
Формирую строку GET-запроса для отправки через TIdHTTP. Запрос с параметрами, и при этом значение одного параметра может содержать всякие "нехорошие" символы, как то "&", "#", "=" и т.п. (пробелов, вроде, быть не может; и слава богу). Как я понимаю, такую строку нужно конвертировать, заменив плохие символы на последовательность % и код символа. Но есть ли готовая функция (в Delphi вообще или в Indy)? Пока всё, что нашёл, это TIdURI.URLEncode, но этот зверь тупо кодирует ...
Уважаемые, помогите, пожалуйста, в следующем:
Подключаюсь к MS SQL посредством ADO (в Delphi XE2).
Провайдер SQLOLEDB.1.
Но строка запроса намного превышает 128 символов.
Не нашёл, как это можно обойти. Надеюсь на подсказку. ...
Добрый день всем
Пытаюсь найти ошибку в реализации оконной процедуры стилевого хука меню.
В кодах VCL (Rad 10.2), в обработчике MN_SELECTITEM вызывается исходный обработчик, предварительно выставляя у окна запрет на отображение с помощью WM_SETREDRAW.
Но в некоторых случаях такой подход не работает, и проявляется стандартная прорисовка - например, при повторном нажатии левой кнопкой мыши на пункт меню с подэлементами.
Есть хоть какая-то информация о том, что делает стандартная оконная ...
все доброго времени суток. назрел один вопрос не могу никак решить.
есть набор жыпегов около 150 тысяч нужно среди них вычленить дубликаты
делаю это так сканирую каталоги, имена картинок сливаю в текстовый файл затем этот файл загружаю в стринглист.
начинаю перебирать эти файлики:
открываю джипегимиджем картинку,
отрисовываю ее стретчдравом на BMP 100х100 пикселов
формирую по этой BMP-шке некую хешсумму
и сливаю ее в файл в формате имя файла картинки,хеш сумма
все прост ...
Здравствуйте, уважаемые коллеги.
Вопрос заключается в следующем:
Имею объект, который мониторит изменения в определенной папке. Класс объекта наследуется от TThread.
Ниже практически вся реализация.
[Code]{ TChangeMonitor }
//==============================
constructor TChangeMonitor.Create(ASuspended:boolean; const ADirectory:string;
AScanSubDirs:boolean; AOnChange:TNotifyEvent = nil);
begin
FOnChange:=AOnChange;
FDirectory:=ADirectory;
FScanSubDirs:=AScanSubDirs;
FreeOnTermina ...
Для проверки наличия на компьютере зарегистрированных com-объектов (например, MS Word'а или MS Html) использую такие функции:[Code] //Проверка наличия com-сервера. Реннее связывание (по классу tlb)
function IsExistComClass(aClassID :TCLSID) :boolean;
var wProgId :PWideChar;
begin
Result := Succeeded( ProgIDFromCLSID( aClassID, wProgId) );
CoTaskMemFree(wProgId);
end;
//Проверка наличия com-сервера. Позднее связывание (по строке-имени)
function IsExistComProgId(aProgId :string) ...
Доброго всем времени.
Уже давно меня беспокоит следующий вопрос:
Объявляю, допустим, переменную FCurs:TCursor членом класса формы. Потом в какой-то процедуре выполняю обычное присвоение
FCurs:=Screen.Cursor;
Screen.Cursor:=crHourGlass;
Но возвращаю запомненное значение не в конструкции try...finally, а в другом месте кода. Потому что, например, долгая операция производилась в отдельной нити. И во в чем проблема: курсор не обновляется. Нужно хотя бы слегка пошевелить мышкой, чтобы отобрази ...
Господа, давно работаю с Delphi, но до сих пор есть проблемы с последовательностью обработки сообщений Windows и реакции на них. Если кто в этом ориентируется, подскажите, плиз.
Мне нужно что-то вроде экранной клавиатуры, то есть главная форма приложения должна принимать и обрабатывать клики мышкой, но приложение не должно активироваться. Подскажите, где, когда и что я должен перехватить после получения WM_LBUTTONDOWN, чтобы код выполнить, но не допустить... э-э-э "активации" приложения. Гото ...
Можно ли отловить нажатие дополнительных(!) клавиш мышки если нет драйверов?
Сразу скажу, что WH_MOUSE_LL не справился...
Заметил я недавно что на моей Logitech RX300, которая верой и правдой служит мне уже 21 год, на колёсике есть кнопки позволяющие нажимать его вправо и влево. И вспомнил, что когда трава была зеленее а небо голубее, я действительно ставил драйвера которые позволяли задействовать эти клавиши. Впрочем тогда я сразу убедился что эти кнопки совершенно бесполезные. В том же ред ...