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.
KONFIGURACJA OPERATORA
W pierwszym kroku określ, czy wywoływana funkcja jest statyczna, czy wymaga utworzenia instancji obiektu.
- dla funkcji statycznej wskaż ścieżkę do pliku DLL w polu DLL path.
- dla funkcji niestatycznej wskaż nazwę instancji klasy w polu Instance name.
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.
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.
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.
W razie potrzeby możesz zmienić przypisanie bitów magistrali do argumentów funkcji, wybierając odpowiedni wiersz na liście.
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.
Po poprawnym skonfigurowaniu operatora kliknij przycisk Test, aby wyświetlić wynik działania funkcji na zakładce Test result.