-
Постов
317 -
Зарегистрирован
-
Посещение
-
Победитель дней
53
Весь контент dnekrasov
-
Пробовал я и TMS Web Core и UniGUI, но как по мне - лучше чем Thinfinity VirtualUI нет. И да, реально на всех получаются неплохие веб-приложения на Delphi без знания всех этих новомодных фреймворков.
-
как-то так uses System.RegularExpressions; ... const AHREF = '<a href="([^"]*)"[^>]*>([^<]*)</a>'; var Match: TMatch; s: String; begin Match := TRegEx.Match(ваша HTML строка, AHREF); while Match.Success do begin // здесь что-то делаем //<a href"...>...</a> в Match.Value //Match.Groups[1] - адрес ссылки //Match.Groups[2] - отображаемый текст ссылки Match := Match.NextMatch; end; end
-
Сложно что-то ответить не имея стиля и проекта. Если скинете стиль и какой-либо тестовый проект с одной этой формой - можно будет продолжить беседу...
-
Может проблема в StyledSettings?
-
Да, она только у TCommonCustomForm. До неё можно добраться так: function GetOwnerForm: TCommonCustomForm; var ctrl: TComponent; begin Result := nil; ctrl := Self.Owner; while Assigned(ctrl) and not (ctrl is TCommonCustomForm) do ctrl := ctrl.Owner; if Assigned(ctrl) and (ctrl is TCommonCustomForm) then Result := ctrl as TCommonCustomForm; end;
-
Ну как я могу ответить на этот вопрос? Я не знаю ни что Ваша программа делает, ни что Вы хотите добить ся этим потоком, что такое Reopen, Add, как вы работаете с базой и т.д... Кстати, насчет базы. Когда-то я сталкивался с такой ситуацией (правда это было ADO и под винду): если ADOConnection был создан в главном потоке, то UI зависал всегда (даже когда запрос выполнялся в отдельном)
-
Лучше TPaintBox или TShape вообще лучше не делать - размер холста задаётся автоматом в зависимости от размеров контрола переопределите функцию GetDefaultSize: TSizeF Вы контрол рисуете полностью сами, значит inherited тут не надо А вообще - посмотрите исходники TCircle-TEllipse-TShape - всё станет намного понятнее.
-
TScrollBox?
-
Может кто подскажет, как в MacOS Catalina добавить пункт в меню "Share", с ссылкой на моё приложение?
-
От себя добавлю - для сравнения есть чудесная функция System.Math.CompareValue Ещё гляньте System.Math.Vectors.TEpsilon - там есть полезные константы
-
Собственно сабж - есть ли в MacOS аналог avifil32.dll b и её функций? А вообще - нужно записать видео с экрана
-
Посмотрите TFont.StyleExt
-
http://docwiki.embarcadero.com/RADStudio/Rio/en/MacOS_Notarization Делал как здесь описано - всё получилось.
-
Посмотрите компонент TPlotGrid. Может поможет чем
- 3 ответа
-
- canvas
- firemonkey
-
(и ещё 2 )
C тегом:
-
Да, извините - забыл, конечно надо TThread.CreateAnonymousThread(procedure begin ... end).Start, ведь он создаётся как Suspended Я их довольно часто использовал (пока не перешёл на работу с TTask), всегда всё отрабатывало нормально. Пройдитесь по форумам или блогам, почитайте хелп А Вообще - в Вашем случае Image и таймер никогда не будет отрабатывать, пока GetDeD_List запускается в главном потоке
-
Ну правильно Вам логика подсказала, вот только в отдельном потоке надо запускать ВСЁ. Аля так: TThread.CreateAnonymousThread(procedure begin TThread.ForceQueue(TThread.Current, procedure begin P_showLoad.Visible := true; Timer_load_rotate.Enabled := true; end); GetDeD_List(DE_set.Date); TThread.ForceQueue(TThread.Current, procedure begin P_showLoad.Visible := False; Timer_load_rotate.Enabled := False; end); end); P.S. Не проверял, но логика, я думаю, ясна
-
Я бы на Вашем месте копал в сторону секций initialization и finalization. Зачем повторно регистрировать TColumnClasses? Да и с TPresentationProxyFactory.Current.Unregister не всё понятно.
- 1 ответ
-
- tcustomgrid
- livebinding
-
(и ещё 1 )
C тегом:
-
Обратите внимание на NeedStyleLookup и ApplyStyleLookup. Может поможет?
-
Каждому - своё. Не хотите изучать новые фишки - пишите по-старинке. Насчет времени и выделения/освобождения памяти тоже много статей видел. Короче - пользоваться этим или нет - выбор разработчика.