Search

Home

DLL CALL FUNCTION

DLL CALL FUNCTION

Operator DLL CALL FUNCTION umożliwia wywoływanie funkcji zewnętrznych znajdujących się w bibliotekach DLL podczas przetwarzania danych w systemie GRAVITY.

Dla każdego rekordu magistrali wejściowej operator wykonuje wskazaną funkcję, przekazując do niej parametry pobrane z bitów magistrali danych. Pozwala to wykorzystywać logikę zaimplementowaną poza systemem, np. w językach C/C++ lub .NET.

Dzięki tej funkcjonalności możliwa jest integracja z:

  • istniejącymi bibliotekami firm trzecich,
  • własnymi algorytmami użytkownika,
  • funkcjami realizującymi złożone operacje, których nie można łatwo wykonać przy użyciu wbudowanych operatorów GRAVITY.

Operator umożliwia również zapisanie wyniku działania funkcji do wskazanych bitów magistrali oraz wykorzystanie parametrów referencyjnych.

Przykład projektu GRAVITY z użyciem operatora DLL CALL FUNCTION.

image

KONFIGURACJA OPERATORA

W pierwszym kroku określ, czy wywoływana funkcja jest statyczna, czy wymaga utworzenia instancji obiektu.

image
  • dla funkcji statycznej wskaż ścieżkę do pliku DLL w polu DLL path.
image
  • dla funkcji niestatycznej wskaż nazwę instancji klasy w polu Instance name.
image
icon
Zapoznaj się z operatorem DLL OBJECT CREATION, który służy do tworzenia instancji klas znajdujących się w bibliotekach DLL.

W kolejnym kroku wybierz funkcję, która zostanie wywołana, w polu Function name. Po rozpoczęciu wpisywania system wyświetli listę dostępnych funkcji.

image

W polu Method signature możesz wybrać odpowiednią sygnaturę funkcji, jeżeli jest ona przeciążona. Sygnatura przedstawia typ zwracany oraz typy argumentów funkcji.

image

Możesz użyć przycisku Auto set argument type. System automatycznie utworzy listę argumentów na zakładce Arguments, ustawi ich typy zgodnie z sygnaturą funkcji oraz spróbuje powiązać je z bitami magistrali o zgodnych typach danych.

image

W razie potrzeby możesz zmienić przypisanie bitów magistrali do argumentów funkcji, wybierając odpowiedni wiersz na liście.

icon
Pamiętaj, aby zaznaczyć pole Ref, jeżeli argument jest przekazywany przez referencję.

Jeżeli wynik działania funkcji ma zostać zapisany do magistrali, wskaż odpowiedni bit w polu Result column. W polu Custom result type określ typ danych zwracanych przez funkcję. Podczas edycji pola system wyświetli listę dostępnych typów.

icon
Typ bitu wskazanego w polu Result column musi być zgodny z typem zwracanym przez funkcję, określonym w sygnaturze funkcji lub w polu Custom result type.

Po poprawnym skonfigurowaniu operatora kliknij przycisk Test, aby wyświetlić wynik działania funkcji na zakładce Test result.

image