Перейти к содержанию
Fire Monkey от А до Я

SergeyIT

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

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

  • Посещение

  • Победитель дней

    2

Весь контент SergeyIT

  1. Спорить бессмысленно. Пусть каждый остается при своих интересах. Всем все ясно, не будем холиварить, все познается в сравнении. А редактор - Microsoft Expression Blend. Нет сомнений, что появление LiveBindings, как и многое другое ... вдохновлялось им.
  2. Нет такого свойства у объекта TWebBrowser в FMX.WebBrowser.
  3. THttpClient.Get(YouSite).ContentAsString Спасибо. Имеется в виду просто сайт посмотреть глазами домохозяйки. Так как он выглядит на всех браузерах и так, как он выглядит в TWebBrowser - вещи разные.
  4. Содержимое TWebBrowser не соответствует тому, что показывает браузер. Вероятно, необходимо обозначить что-то вроде WebBrowser.EnableJavaScript = True; как это принято во всех других решениях. Есть ли возможность увидеть содержимое сайта в оригинале?
  5. Слава тебе... Какое глубокое сообщение об ошибке! Это возможно!!! Почти счастье! Необходимо вернуться в Мастер - windows окно. **************************************************************** ИМХО, разгадал загадку того, почему мир массово не поворачивается в сторону Delphi, несмотря на колоссальные результаты в языке, компиляторах и библиотеках! Редактор студии не претерпел изменений в сравнении с лучшими образцами 93 года. Сейчас трудно найти блокнот, который работал бы хуже, чем так называемая IDE RAD Studio. Странно, неужели те, кто это делает ни разу не открывали NetBeans бесплатный или Eclipse, не говоря уже...?
  6. Пожалуйста, развейте мои сомнения, люди добрые! Не верю глазам своим. Сомневаюсь. Неужели это правда, что работая в дизайнере в иерархии элементов формы Structure нельзя не только ничего переместить, но и уничтожить?
  7. Приветствую. Подскажите пожалуйста, есть ли способ подсветить в редакторе кода встроенные в систему классы? И где можно почитать о том, как пишутся extensions для редактора кода. Буду рад, если выслушаю мнение об альтернативных редакторах кода для проектов RAD Studio. Спасибо
  8. SergeyIT

    TRESTClient

    Спасибо большое, ошибка исчезла. Но обидно чуток... Вот пришел человек новый в поисках счастья... А где логика, как ему понять что нужны такие вот неймспейсы... Ведь день убил на это. Ладно б TMesh какой-нибудь кастомный изобретал бы
  9. SergeyIT

    TRESTClient

    Нет, не был. С добавленным IPPeerCommon такая ошибка
  10. SergeyIT

    TRESTClient

    Что то нелепое. Помогите, плиз, разобраться. Ничего не кроме формы. Любой вызов client:= TRESTClient.Create('http://www.google.com'); с любым адресом приводит к появлению
  11. Про условия DreamSpark не знаю. Но тесты - это дикость, ИМХО. Главное, идея - доступность для масс. Вот просто не могу представить случая, когда ты заработал кучу денег на инструменте и не начал оплачивать - то есть поддерживать этот инструмент. Но стартапам выложить такую сумму, начиная с нуля сложно. Да, Вы правы, тьфу-тьфу-тьфу. С дженериками, лямбдами, интерфейсами, словарями... и "Еду на всем" - это МОНСТР!
  12. Поддерживаю фиксы, очень важное дело. И еще хотелось бы, чтобы файловую систему проекта в течение работы в RAD эмулировали (как в Visual Studio), а уж в некоторое время снимали с нее копию для физического хранения. Конечно, я новичок, но операции переименования - первое, что обескураживает. И почему то экран в RAD медленно обновляется после старт-стоп дебаг. При 5-6 проектах маленьких в группе.
  13. Неплохо! http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  14. Уж не знаю, кто мы такие чтобы им советовать... Но вот взять Microsoft, было и хорошее... Программы типа DreamSpark - для студентов, BizSpark - для стартапов, начиная с одного индивидуала. Регистрируешься как положено, три года работаешь, полный доступ к MSDN - весь софт доступен для закачки. После окончания программы гибко выходишь. Если успешен, то сам начинаешь все потихоньку покупать, если не заработал - уходишь тихо (причем с плюшками). Видимо до отдела программ поддержки не добрались менеджеры последние. Потом рассуждая логически, Энтерпрайз, как все большое и богатое очень неповоротлив в принятии решений, бюрократия, иерархия... Только Стартапы и индивидуалы открыты ко всему новому и прогрессивному. То есть первые в состоянии оценить и рекламировать. А потом и те Слоны обратят внимание.
  15. Насколько я Вас понял, речь идет просто о передаче зависимости от одного класса к другому. Обычно различают передачу поведения от передачи собственно данных. Если речь о простом наборе данных, как правило неизменяемых, то их транслируют созданием специального класса (обычно конкретного, но можно и интерфейсом) - их так и называют DTO (Data transfer object). И наполняют примитивными типами. Если это нечто более общее, с элементами поведения, то это уже не данные, а именно зависимость (и поведение, и данные). Извиняюсь за философские отступления. 1. Создайте интерфейс ISomeDependency, объявите в нем протокол (набор свойств и методов), далее создайте класс, который реализует этот протокол. 2. Организуйте способ передачи этого интерфейса из одного класса в другой: свойством или методом. Например, TTargetedClass.SetSomeDependency(someDependency : ISomeDependency); Все, используйте зависимость по своему усмотрению.
  16. @haword Это Samsung который, если правильно понял. ИМХО, на одном С++ они проиграют. Даже если все школьники Кореи начнут писать на нем, начиная с памперсов. Мир изменился - приложения сейчас если и живут долго мобильные, то должны постоянно обновляться. С++ имеет высокий порог вхождения и более низкую скорость разработки. Им в альянс войти надо с Причалом и Delphi - основным языком туда. Учитывая опыт в компиляторах... Это была бы БОМБА!
  17. Вы меня простите, Господа. Но позвольте высказать мнение человека нового в Object Pascal, из .NET пришедшего. Тьфу-тьфу, дай им всем Бог в Embarcadero доброго здоровья и процветания. Оглянитесь вокруг, ничего ж и близкого нет, даже отдаленно напоминающего того, к чему пришли в Embarcadero за последние годы с кроссплатформенностью! Уму не постижимо. Взять Java (хоть к теме напрямую не относится) - на Android идет сырец-порт JavaFX, сервисы и плюшки - за деньги в частном порядке. Xamarin видели? Хотите поднять настроение - погуглите. Выглядит это так: MAMA MILA RAMU... С# по Java (что-то дико нелепое). Если человек знает что такое Activity, зачем ему C#? Или Java менее элегантней (учитывая полное родство). MONO - мычание из преисподней, GUI нет фактически. Да вот возьмите хотя бы Unity 3D. Как-то на конференции человек оттуда проговорился: Вы ведь не знаете - мы 90% времени правим баги платформозависимые, чтобы у Вас почти все работало. У Microsoft судороги предсмертные в части всего, что не Windows 10. Почитать куда их бросает каждый месяц - жуть. Кто-то испрашивал по поводу поддержки Windows Phone в одном из топиков. Да даже если бы технически это было возможно, то они ж меняют API каждые полгода на него: то Windows Phone Silverlight, то HTML5, то DirectX C++ (взамен XNA Windows Phone 7)... Поддержка разработчиков ушла в StackOverflow, MSDN скоро рекламу начнет размещать о таблетках для мужчин. Ну, кто еще остался? Qt? Это не моя тема. Мне трудно думать про указатели, когда надо думать про логику. Увы, не дано... Не владею темой. Так что пока нас не слишком много в сравнении с Китаем, есть шанс, что быстро ответят на заданный вопрос... Скоро эта халява закончится...
  18. @Yaroslav Решение в LocalToAbsoluteVector? Искал подобное... @Alexandr Ну, трансформации нужны, в общем случае. Думаю вопрос снимется по подробностям http://fire-monkey.ru/topic/34-kak-sdelat-peremeschenie-kontrola-myshkoipaltc/ Спасибо всем! Извиняюсь - просмотрел. Не очевидно, однако, на фоне "легкости" ролика Координаты то X, Y - в коллбеке локальные, в пределах Sender. Да, все работает. С преобразованием координат.
  19. Вот весь код, обработчики общие. Не уверен, что можно отправлять такие куски кода... Удалю по первому запросу. Сорри unit MainForm; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects, System.Generics.Collections, FMX.Controls.Presentation, FMX.StdCtrls, Helpers, FMX.Edit, FMX.TabControl; type TForm1 = class(TForm) lblInfoX: TLabel; edtX: TEdit; lblInfoY: TLabel; edtY: TEdit; rctngTest1: TRectangle; edtPosX: TEdit; lblPosX: TLabel; lblPosY: TLabel; edtPosY: TEdit; lnTest2: TLine; procedure FormCreate(Sender: TObject); //private { Private declarations } procedure CallBackMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); procedure CallBackMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); procedure CallBackMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); // public { Public declarations } private var _xCoord, _yCoord: Single; isDragging: Boolean; end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); // Just test with any TShape var line: TEllipse; begin line := TEllipse.Create(nil); line.StrokeThickness := 10; line.Position := TPosition.Create(TPointF.Create(130, 130)); line.RotationAngle := 90; line.HitTest := True; line.StrokeCap := TStrokeCap.Round; line.Width := 100; line.DragMode:= TDragMode.dmManual; line.EnableDragHighlight:= True; line.OnMouseDown := CallBackMouseDown; line.OnMouseMove := CallBackMouseMove; line.OnMouseUp := CallBackMouseUp; line.Parent := Self; end; procedure TForm1.CallBackMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); var shape : TControl; begin if (isDragging = True) and (ssLeft in Shift) then begin shape:= (Sender as TControl); edtX.Text:= (X).ToString; edtY.Text:= (Y).ToString; edtPosX.Text:= (shape.Position.X).ToString; edtPosY.Text:= (shape.Position.Y).ToString; shape.Position.X := shape.Position.X + X - _xCoord; shape.Position.Y := shape.Position.Y + Y - _yCoord; end; end; procedure TForm1.CallBackMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var classInfo: UnicodeString; shape : TShape; begin classInfo := Sender.ClassName; shape := Sender as TShape; _xCoord := X; _yCoord := Y; edtX.Text:= (X).ToString; edtY.Text:= (Y).ToString; edtPosX.Text:= (shape.Position.X).ToString; edtPosY.Text:= (shape.Position.Y).ToString; shape.Fill.Color:= $FF11313A; isDragging := True; shape.Root.Captured := shape; end; procedure TForm1.CallBackMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var shape: TShape; begin if (isDragging = True) then begin shape:= Sender as TShape; isDragging := False; shape.Fill.Color:= $FF2CC831; shape.Root.Captured := nil; end; end; end.
  20. Да, спасибо. Конечно http://1drv.ms/1ShQ54r Справа - элементы, добавленные в дизайн-иайм. С ними все в порядке.
  21. Да, так и есть... Я работаю Unity 3D Platform Lead в одной из американских компаний, занимаюсь вопросами архитектуры и адаптации паттернов проектирования GOF к игровому контексту. Параллельно веду проект www.orlovsoft.com. C Object Pascal знаком 2 недели, до этого 10 лет работал на .NET. В последнем разочаровался и знакомлюсь с тем, что сделала за эти годы Embarcadero, искренне радуясь... События мыши одни и те же для объекта, помещенного на форму и для программно созданного объекта, поэтому вряд ли имеет смысл переписывать код из ролика и его вариации. Платформа: Windows 10 64 bit. Сомнения в возможно неустановленном некоем свойстве для программно созданного объекта. Вот код создания объекта: line := TLine.Create(Self); line.StrokeThickness := 10; line.LineType := TLineType.Diagonal; line.Position := TPosition.Create(TPointF.Create(130, 130)); line.RotationAngle := 90; line.HitTest := True; line.StrokeCap := TStrokeCap.Round; line.Width := 100; line.DragMode:= TDragMode.dmManual; line.EnableDragHighlight:= True; line.OnMouseDown := CallBackMouseDown; line.OnMouseMove := CallBackMouseMove; line.OnMouseUp := CallBackMouseUp; line.Parent := Self; Вот и все.
  22. В известном видео https://www.youtube.com/watch?v=ta_N6DSi0Xg представлена техника перетаскивания графических объектов типа TRectangle, TEllipse. Почему она не работает для тех же объектов, но созданных программным путем, скажем, для TLine? Быть может есть ключевое свойство, связанное с Captured особенностями. Ухищрения с координатами также мало помогают. В лучшем случае все выглядит как перемещение с эффектом стробоскопа - объект движется, но "мигает" по 2-4 позициям.
×
×
  • Создать...