Kostra aplikace v externφm jazyce

Ka₧dß aplikace v externφm jazyce komunikujφcφ se serverem p°φmo (nikoliv p°es ODBC apod.) musφ mφt nßsledujφcφ strukturu (funkce se musφ volat v tomto po°adφ):

1. alokace kontextovΘ prom∞nnΘ cd funkcφ cdp_alloc, nenφ-li alokovßna staticky;

2. volßnφ cdp_init - inicializace kontextovΘ prom∞nnΘ;

3. vytvo°enφ hlavnφho okna (nebylo-li otev°eno d°φve) a inicializace okennφho prost°edφ;

4. volßnφ link_kernel - volba serveru a p°ipojenφ;

5. volßnφ interf_init - inicializace p°ipojenφ;

6. volßnφ Login - p°ihlßÜenφ se na server, pracuje-li se neanonymn∞;

7. volßnφ Set_application - volba aplikace

[8. volßnφ Open_project - otev°enφ projektu, je-li pot°eba;]

... vlastnφ aplikace ...

n-3.volßnφ Logout - odhlßÜenφ od serveru;

n-2. volßnφ interf_close - odpojenφ od serveru;

n-1.dealokace cd, nenφ-li alokovßna staticky;

n. zav°enφ hlavnφho okna aplikace.

P°φklad pro Delphi:

uses winbase;

var my_cd:cd_t;  //Kontextova promenna klienta, identifikuje klienta pri
                 //komunikaci se serverem
    logged:boolean;  //klient je uspesne prihlaseny
    err:integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
  cdp_init(@my_cd);            //inicializace kontext. promenne klienta
  err:=link_kernel('test',sw_minimize);//propijeni klienta k serveru test
                //server test musi byt zaregistrovany (instalace wb602)
  err:=interf_init(@my_cd,0);  //vlastni inicializace pripojeni
  logged:=not login('','');    //prihlaseni se k serveru
  Set_application('test');     //nastaveni aktivni aplikace
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Interf_close;  //ukonceni prace a odhlaseni od WinBase, ukonceni spojeni
end;