Перейти к содержанию

david_yusupov

Пользователи
  • Активность

    44
  • Зарегистрирован

  • Посещение

Информация о david_yusupov

  • Звание
    Продвинутый пользователь

Посетители профиля

2 669 просмотров профиля
  1. david_yusupov

    Компилятор

    К понимаю, если среда может работать в разных платформах (или разных OS). Значит можно написать совой компилятор или транслятор в другой язык (JavaScript), а визуальных компонентов FMX - использовать один из framework JavaScript. Где можно почерпнуть знания
  2. TTestFrame = class(TFrame) Rectangle: TRectangle; private end; Создаем объект: TestRectangle := TRectangle.Create; TestRectangle.Parent := Rectangle; Создаем его так что одна область находится за границами Rectangle TestRectangle.Position.X := -20; TestRectangle.Position.Y := -20; И она видна, не обрезается ее видимость ЗЫ Как сделать, так что обрезалась, а тем более, когда выводим TText, тоже не обрезается
  3. Расположил несколько, TStringGrid - в контейнере TVertScrollBox. Прорисовки заголовка возникает сообщение ошибке Когда на TVertScrollBox - располагается один TStringGrid - то проблем нет, а когда два TStringGrid - по периодически возникает ошибка ... не подскажите как ее решить, или как ее поместить в исключение, что игнорировать // ----------------------------------------------------------------------------------------------------------------- Немного поэкспериментировал Создал - TVertScrollBox – отдельно разместил два TStringGrid – все нормально Могу предположить, что проблема в наследование TCustomDiagnosticFrame = (TFrame, ITypeFrame) TDiagnosticIS = class(TCustomDiagnosticFrame) Размещаю на TDiagnosticIS на TVertScrollBox И тут и возникает проблема у TStringGrid test.zip
  4. У меня задача нужно в приложение использоваться jar – файл (программа пишется под windows). В исходниках студи есть Androidapi.Jni – как понимаю это JNI – под андройд, вопрос, как его можно переделать под Windows.Jni – (если это вообще возможности). Если описание JNI – хоть пуская с++, что из своего приложение запускать JVM и выполнять файл jar (библиотеку)
  5. david_yusupov

    Прозрачность

    Как сделать TreeView — прозрачный фон, так что бы видны Item?
  6. Вопрос очень прост, как убить запущенный поток не дожидаясь его завершение. Пример: procedure TBufferThread.Execute; begin while not Self.Terminated do begin Sleep(10000); end; end; Используя ReportMemoryLeaksOnShutdown показывает, что поток жив, после закрытие программы? PS Поток так же жив после вызова процедуры TThread.Terminate (После того как заглянул вовнутрь понял почему, и поэтому возник вопрос, как убить поток?)
  7. Было написано костыль, для быстрого решение... то так идея с отдельным потом, мне нравится. Так как нет других решений. Прилегаю файл, как и просили. procedure TBlocksFrame.SetInitializationLattice; var i, j: Integer; xRectangle: TLatticeRectangle; xHeight, xWidth: Single; begin xHeight := Self.Height/ROW_COUNT_SIZE; xWidth := Self.Width/COL_COUNT_SIZE; if (xHeight > 0) and (xWidth > 0) then begin for i := 0 to ROW_COUNT_SIZE - 1 do for j := 0 to COL_COUNT_SIZE - 1 do begin xRectangle := TLatticeRectangle.Create(Self); SetPostionRectangle(xRectangle, j * xWidth + 1.25, i * xHeight + 1.25, xHeight - 2.5, xWidth - 2.5); xRectangle.Row := i; xRectangle.Col := j; xRectangle.Parent := Self; xRectangle.OnEnter := RectangleOnEnter; xRectangle.OnMouseDown := RectangleOnMouseDown; xRectangle.OnMouseMove := RectangleOnMouseMove; xRectangle.OnMouseUp := RectangleOnMouseUp; FLatticeles.Add(xRectangle); end; end; end; procedure TBlocksFrame.SetUpDatesLattice; var i, j, xIndex: Integer; xLattice: TLatticeRectangle; xHeight, xWidth: Single; begin xHeight := Self.Height/ROW_COUNT_SIZE; xWidth := Self.Width/COL_COUNT_SIZE; if (xHeight > 0) and (xWidth > 0) then begin for i := 0 to ROW_COUNT_SIZE - 1 do for j := 0 to COL_COUNT_SIZE - 1 do begin xIndex := i * COL_COUNT_SIZE + j; xLattice := FLatticeles[xIndex]; if Assigned(xLattice) then begin SetPostionRectangle(xLattice, j * xWidth + 1.25, i * xHeight + 1.25, xHeight - 2.5, xWidth - 2.5); end; end; end; end; // сейчас так procedure TBlocksFrame.TimerTimer(Sender: TObject); begin if (FSelfHeight = 0) and (FSelfWidth = 0) then begin FSelfHeight := Self.Height; FSelfWidth := Self.Width; Self.SetInitializationLattice; end else begin if (FSelfHeight <> Self.Height) or (FSelfWidth <> Self.Width) then begin FSelfHeight := Self.Height; FSelfWidth := Self.Width; if FLatticeles.Count = 0 then Self.SetInitializationLattice else begin SetUpDatesLattice; SetUpDatesBlock; end; end; end; end; // было так procedure TBlocksFrame.Resize; begin inherited Resize; if (FSelfHeight = 0) and (FSelfWidth = 0) then begin FSelfHeight := Self.Height; FSelfWidth := Self.Width; Self.SetInitializationLattice; end else begin if (FSelfHeight <> Self.Height) or (FSelfWidth <> Self.Width) then begin FSelfHeight := Self.Height; FSelfWidth := Self.Width; if FLatticeles.Count = 0 then Self.SetInitializationLattice else begin SetUpDatesLattice; SetUpDatesBlock; end; end; end; end; block.zip
  8. Ясно спасибо. Значит будем использовать отдельный поток... а так пока использую костыль. поставил Timer, с проверкой измене размеров.
  9. Cтолкнулся с не большой проблемой. Разрабатываю фрейм, использованием событие OnResize. Суть проблемы создаем динамически очень много объектов, и в зависимости от размера фрейма, обсчитываем положение и обновление размеры обетов. Приводит к зависанию всего приложения.
  10. Не могу знать во время или нет... это библиотека работает на MAC OS, на андройде не проверял. http://www.ararat.cz/synapse/doku.php/download
×
×
  • Создать...