Przykład projektu GRAVITY z użyciem operatora DLL CALL FUNCTION.
Operator pozwala na wywołanie funkcji z bibliotek zarówno z kodem zarządzanym jak i niezarządzanym. Wynik działania funkcji może być wstawiony do bitu magistrali zgodnego z typem danych zwracanym przez funkcję. Argumenty wywołania funkcji przekazywane są jako bity magistrali. Funkcja może posiadać również argumenty typu referencyjnego, dzięki czemu ich wartość zostanie wstawiona do bitu magistrali jaki jest powiązany z tym argumentem.
KONFIGURACJA OPERATORA
W pierwszym kroku musisz określić czy funkcja jest statyczna czy wymaga inicjacji obiektu.
- dla funkcji statycznej musisz wskazać ścieżkę do pliku dll w polu DLL path
- dla funkcji nie będącej funkcją statyczną wskaż instancję klasy z jakiej będziesz korzystał w polu Instance name
W kolejnym kroku wybierz funkcję jaka zostanie wywołana przez operator w polu Function name (gdy rozpoczniesz pisanie system podpowie Ci nazwy funkcji).
W Polu Method signature będziesz miał do wyboru odpowiednią sygnaturę funkcji jeśli funkcja jest przeciążona. Sygnatura podpowiada Ci konstrukcję funkcji, typ zwracany oraz typy argumentów wywołania.
Możesz użyć przycisku Auto set argument type wówczas system samodzielnie wprowadzi argumenty i ich typy (zakładka Arguments) na postawie sygnatury funkcji, a także powiąże j e z bitami magistrali o odpowiednim typie.
Możesz zmienić bity wchodzące jako argumenty funkcji klikając w odpowiedni wiersz na liście.
Jeśli chcesz, aby wartość zwracana prze funkcję trafiała do odpowiedniego bitu magistrali uzupełnij pole Result column. Pole Custom result type określa typ zwracanych danych przez funkcję. Aby właściwie użyć funkcji zewnętrznej musisz znać typ danych zwracanych przez funkcję zewnętrzną. Edytując pole automatycznie podpowie się słownik z wariantami dostępnych typów danych.
Jeśli wszystko zostało skonfigurowane poprawnie po naciśnięciu przycisku Text zobaczysz wynik działania funkcji na zakładce Test result.