Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Delphi Firemonkey + Mac os


Автор: ekzo 4.7.2014, 05:18
Хочу попробовать написать простую программу с помощью Firemonkey под Mac os, но возникли проблемы типа "ничего не понятно". Вероятно, у мака есть аналог winapi, который можно использовать из дельфей, но что-то я не могу найти информацию, на сайте эпла вроде есть какая-то документация, но она не связана Delphi/FM... хочется какого-нибудь руководства для начинающих (переходящих с винды) чтобы ухватить суть.

Если же конкретно говорить, для начала хочется сделать такое: запускаем процесс-консольную софтину, читаем из нее проценты выполнения задачи (пайпы, а лучше/проще аналог виндовой функции GetConsoleScreenBufferInfo), отображаем прогрессбар без зависонов интерфейса/основного потока, процесс завершается, показываем месаджбокс "всем спасибо, все свободны". Как-то так. 

Спасибо за внимание. smile

Автор: Akella 4.7.2014, 12:51
а что в справке и на офсайте вообще информации нет?

Добавлено через 3 минуты и 42 секунды
Ты будешь удивлён, обескуражен и поражён до глубины души, но ты держись. И мы тебя поддержим.
Сядь, успокойся и нажми https://www.google.com.ua/search?q=Delphi+Firemonkey+%2B+Mac+os%2C+%D0%A1+%D1%87%D0%B5%D0%B3%D0%BE+%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D1%8C&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a&channel=fflb&gfe_rd=cr&ei=i3m2U-n0NLDc8gfs2YDwDw#channel=fflb&q=Delphi+Firemonkey+Mac+Os+%D0%A1+%D1%87%D0%B5%D0%B3%D0%BE+%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D1%8C&rls=org.mozilla:ru:official&spell=1

Представляешь, как можно  smile 

Автор: ekzo 4.7.2014, 21:16
Если все будут посылать в гугл, то откуда там возьмутся ответы?) Первая ссыль - на этот топик) Куча инфы по установке и настройке PAServer, а настоящей статьи для программиста, например, "фундаментальные отличия программирования под Win и Mac с помомщью Delphi Firemonkey" - такого не найти.

Вопрос по поводу запуска процесса остается открытым.

Автор: CynicRus 5.7.2014, 12:13
Код

uses System.StrUtils, Posix.StdLib;

procedure RunPeerApplication(const AName: string);
var
  S: string;
  I, DelimsToGo: Integer;
begin
  //a bundled executable lies in /Blah/ProgName.app/Contents/MacOS
  S := ExtractFileDir(GetModuleName(0));
  DelimsToGo := 3;
  for I := Length(S) downto 1 do
    if S[I] = PathDelim then
    begin
      Dec(DelimsToGo);
      if DelimsToGo = 0 then
      begin
        Delete(S, I + 1, MaxInt);
        Break;
      end;
    end;
  Assert(DelimsToGo = 0);
  S := S + AName + '.app';
  //need to escape a couple of characters to be bulletproof
  _system(PAnsiChar(UTF8String('open "' +
    ReplaceStr(ReplaceStr(S, '\', '\\'), '"', '\"') + '"')));
end;



Типа такого чтоли?

Вот ещё вариант:
Код


uses System.IOUtils;

function ReplaceRunningExecutable(const Replacement: string): Boolean;
begin
  try
    TFile.Copy(Replacement, GetModuleName(0), True);
    TFile.Delete(Replacement);
    Result := True;
  except
    Result := False;
  end;
end;




Ну а дальше лезешь в сурцы указанных юнитов - и ищешь:P

Автор: Akella 6.7.2014, 13:14
Начать можно отсюда http://blogs.embarcadero.com/vsevolodleonov/2013/04/23/dios_dev_hardware/
http://blogs.embarcadero.com/yaroslavbrovin/
http://www.webdelphi.ru/tag/mac-os/
http://www.webdelphi.ru/tag/delphi-for-ios/
http://docwiki.embarcadero.com/RADStudio/XE4/en/IOS_Tutorials:_Delphi_iOS_Application_Development?elq=db7ea77a14064544978abeea8902e832&elqCampaignId=187


The Delphi Language for Mobile Development - техническая статья Марко Канту - PDF
http://img.en25.com/Web/Embarcadero/%7B9993955a-d923-4d02-8f00-0ac860d08556%7D_delphilanguagemobiledevelopmentwhitepaper170413.pdf

Добавлено через 6 минут и 34 секунды
Цитата(ekzo @  4.7.2014,  21:16 Найти цитируемый пост)
"фундаментальные отличия программирования под Win и Mac с помомщью Delphi Firemonkey" - такого не найти.

значит у тебя есть возможно .... ну ты понял smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)