Bash on Ubuntu on Windows 1703 "Creators Update" und Delphi

Posted by on in Programming

Da ja seit gestern das sogenannte "Creators Update" von Windows erschienen ist (zumindest bei TechNet, MSDN) und das "Windows-Subsystem für Linux (Beta)" in Zuge dessen auch aktualisiert wurde (Ubuntu 16.04.01), hat mich interessiert, ob das Ganze dann auch mit Delphi funktioniert.

Kurze Antwort: Jain :-) Programme laufen, PAServer (noch) nicht.....

Doch zuerst die Bash :

Innerhalb von Windows 1703 muss man zuerst zwei Dinge erledigen:

  • Zuerst muss man über "Programme und Features" (was sich im 1703, Creators Update, etwas versteckt hat), das "Windows-Subsystem für Linux (Beta)" installieren. Dazu müssen der Entwicklermodus für Windows aktiviert werden(!):
  • Anschliessend muss man über "bash" dieses Subsystem konfigurieren (Benutzername, Kennwort, ...). Optional kann man mit einem beherztem apt-get update && apt-get upgrade das Subsystem auf Ubuntu 16.04.02 bringen.

Jetzt zum PAServer.... um es kurz zu machen: Der läuft noch nicht :-(

Aber zur Entwicklung und der Ausführung von Programmen: Die laufen!

program Project1;
{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils,
  Unit1 in 'Unit1.pas' {DataModule1: TDataModule};

var
  dm: TDataModule1;
  i, j: integer;

begin
  try
    { TODO -oUser -cConsole Main : Code hier einfügen }
    writeLn;
    writeLn('InterBase auf ' + TOSVersion.ToString);
    writeLn('------------------------------------------------------------');
    dm := TDataModule1.Create(nil);
    dm.FDTable1.First;
    for i := 1 to 10 do
    begin
      for j := 0 to 3 do
      Begin
         Write(dm.FDTable1.Fields[j].AsString+#9)
      End;
      WriteLn;
      dm.FDTable1.Next;
    end;
    ReadLn;
  except
    on E: Exception do
      writeLn(E.ClassName, ': ', E.Message);
  end;
end.

In dem Datenmodul sind eine FDConnection und eine FDTable auf einen InterBase Server 2017 auf einem (anderen) Ubuntu vorhanden....

Das Programm läuft erwartungsgemäß unter Windows:

Und nachdem ich die passende InterBase .so-Datei auch mitgegeben habe auch im Ubuntu-Subsystem:

:-)



Comments

Check out more tips and tricks in this development video: