vložil Radek Červinka
16. února 2013 00:15
POSIX nazývám to, co je v adresáři source\rtl\posix Delphi od verze XE2+. Jedná se o Delphi rozhraní momentálně pro MACOS, s tím, že jsou naznačeny části IFDEF LINUX, ale nejsou zatím dodány.
uses Posix.StdDef;
{$IFDEF MACOS}
{$I osx/SysTypesTypes.inc}
{$ENDIF MACOS}
{$IFDEF LINUX}
{$I linux/SysTypesTypes.inc}
{$ENDIF LINUX}
…
Je jasné, že je to navržené jako multiplatformní s tím, že iOS (aka iPhone a spol) je postaven na OSX a tudíž splňuje MACOS a Android je v podstatě Linux.
Synapse má rozumné multiplatformní rozhraní a tak jsem osobně dopsal podporu pro POSIX a ta je nyní součástí Synapsího SVN jako experimental (od revize 181). Vycházelo se z rozhraní pro Kylix plus některé úpravy pro budoucnost. Berte to prosím tak, že to funguje na OSX jelikož nikde jinde to nelze zatím použít. Nejméně lze používat http protokol což pokrývá dost věcí. Podpora pro Linux (pokud bude) by měla být automatická, max. s pár úpravami.
S podporou pro iOS a asi i Androidu je to tak, že implementace tohoto rozhraní je podmínka nutná, ale asi nikoliv dostačující.
program Project5;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, blcksock, synsock, httpsend, Classes;
var
ls: TStringList;
sock: TTCPBlockSocket;
begin
try
ls := TStringList.Create;
try
writeln('Synapse from Delphi on OSX');
HttpGetText('http://delphi.cz/robots.txt', ls);
writeln(ls.Text);
readln;
finally
ls.Free;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.

Pokud narazíte na problém, tak prosím sem s tím. Až vyjde finální verze iOS kompilátoru tak budeme pokračovat a ukážeme si více.
Jinak se už dá registrovat na představení iOS kompilátoru (ARM) a AnyDac v Brně s losováním RAD Studio Enterprise jako bonus - neváhal bych.