CDN XL API

Application Programing Interface - to mechanizm, który pozwala na wykonywanie funkcji realizowanych przez system CdnXL z poziomu innego oprogramowania.

Dostępność

Każdy kto posiada licencję na moduły systemu CDN XL posiada też możliwość wykorzystywania API. API jest udostępniane przez bibliotekę cdn_api.dll, która znajduje się w katalogu systemu CDN XL. Jednak nie każdy posiada dokumentację.

Wykorzystanie

API można wywoływać z poziomu dowolnego języka potrafiącego korzystać z windowsowych bibliotek dll. Może więc to być c++, delphi, visual basic - czyli też np. Excell czy Word, no i narzędzia z platformy .Net (c# itp.)

... Poniżej przykład funkcji w c++, która podłącza kilka procedur z biblioteki cdn_api.dll

void __fastcall TStart::LoadCdnApi(void)
{
  Komunikat("Podlączanie biblioteki API",P_NORMAL);
  h_cdn_api = LoadLibrary("cdn_api.dll");
  if(h_cdn_api)
  {
    Komunikat("Zainstalowano API");
    Komunikat("Definiowanie funkji");
    XLLogout = (pXLLogout)GetProcAddress(h_cdn_api,"XLLogout");
    XLLogin = (pXLLogin)GetProcAddress(h_cdn_api,"XLLogin");
    XLSprawdzWersje = (pXLSprawdzWersje)GetProcAddress(h_cdn_api,"XLSprawdzWersje");

    XLNowyDokumentZam=(pXLNowyDokumentZam)GetProcAddress(h_cdn_api,"XLNowyDokumentZam");
    XLDodajPozycjeZam=(pXLDodajPozycjeZam)GetProcAddress(h_cdn_api,"XLDodajPozycjeZam");
    XLZamknijDokumentZam=(pXLZamknijDokumentZam)GetProcAddress(h_cdn_api,"XLZamknijDokumentZam");

    XLNowyDokument=(pXLNowyDokument)GetProcAddress(h_cdn_api,"XLNowyDokument");
    XLOtworzDokument=(pXLOtworzDokument)GetProcAddress(h_cdn_api,"XLOtworzDokument");
    XLDodajPozycje=(pXLDodajPozycje)GetProcAddress(h_cdn_api,"XLDodajPozycje");
    XLZamknijDokument=(pXLZamknijDokument)GetProcAddress(h_cdn_api,"XLZamknijDokument");

    if(XLLogout && XLLogin && XLNowyDokumentZam && XLDodajPozycjeZam && XLZamknijDokumentZam
          && XLNowyDokument    && XLDodajPozycje    && XLZamknijDokument && XLSprawdzWersje)
    {
      Komunikat("                OK. Zainstalowano funkcje",P_NORMAL);
    }
    else
    {
      Komunikat("nie znaleziono funkcji");
    }
  }
  else
  {
    Komunikat("nie znaleziono biblioteki");
  }
}

cdn ...