Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/COM] Component Object Model + API
woolkan
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 10.06.2006

Ostrzeżenie: (0%)
-----


Witam,

mam bardzo nietypowy problem. Potrzebuje napisać aplikacje w php która będzie wykożystywać API zainstalowane na systemie windosowym. Do API mam dostęp przez COM (Component Object Model). Wiem że w php COM jest dostępny tylko dla wersji Windosowych więc postawiłem sobie pod XP serwer IIS oraz PHPv5.1.6.

Problem jest tego typu: jak dostać się do dostarczonego API? w necie nic nie znalazłem co mogłoby mnie naprowadzić jak używać COM w php i prawdę mówiąc nie mam zielonego pojęcia jak uruchomić to API z php (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) w manualu php też niewiele pisze:(

Plik PDF z dokumentacją znajduje się pod tym adresem: plik pdf.

API dotyczy platformy inwestycyjnej o której możesz poczytać na tej stronie: http://cms-forex.com/, dodatkowo możesz załozyć konto demo które będzie potrzebne do testowania API. Sama platforma oraz API dla tej platformy jest dostępne na stronie http://vtsystems.com/en/products/.

I teraz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) po zainstalowaniu platformy (VT Trader) na dysku a następnie API (VT Trader API) możesz mieć dostęp do swojego konta inwestycyjnego poprzez inne oprogramowania niżeli VT Trader (to chyba oczywiste). W katalogu gdzie instaluje się API są dostępne przykłady dla różnych języków programowania takich jak VB, C#, PERL, JAVA oraz pliki excelowskie z makrami pisanymi w VB dla excela. Brak przykładu dla php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ;P
Moim zadaniem jest napisanie aplikacji która będzie umożliwiała połączenie się z serwerami platformy (dla demo serwera adres: vtdemo.fxserver.com) a następnie pobranie informacji o stanie konta (czyli otwarte pozycje stan konta etc.) oraz sprawdzenie aktualnych notowań. W sumie całość będzie podobna do przykładowego pliku excelowego z katalogu z API. Cała aplikacja ma chodzić na serwerze z systemem Windows XP (najpierw a później będzie migracja na win2k3) a dostęp musi być poprzez WWW.

Defakto całość nie wydaje się jakoś szczególnie trudna zwarzywszy że API dostarcza gotowych funkcji które mają zwracać z serwera odpowiednie dane więc moja praca będzie się ograniczać do obrobienia i wyświetlenia danych wyjściowych i tyle.
Najtrudniejszą rzeczą w chwili obecnej jest połączenie się poprzez API. Nigdy wcześniej nie miałem do czynienia z COM i dlatego to dla mnie jest nie do przejścia w chwili obecnej (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Co prawda mógłbym napisać w jakimś języku programowania lecz niestety c++ znam słabo a za jave dopiero się zabrałem więc inne języki poza php odpadają.


Z góry wielkie dzięki wszystkim za ewentualną pomoc,
woolkan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Spróbuj przenieść to "do {" do linii 33 lub 36
Go to the top of the page
+Quote Post
jarek_bolo
post
Post #3





Grupa: Zarejestrowani
Postów: 149
Pomógł: 12
Dołączył: 3.03.2008
Skąd: łódzkie

Ostrzeżenie: (0%)
-----


Cytat(CuteOne @ 18.05.2015, 10:09:19 ) *
Spróbuj przenieść to "do {" do linii 33 lub 36

Dzięki za zainteresowanie.

Nie można subskrypcji odpalać w pętli. Każde wywołanie metody Subscribe powoduje założenie nowej subskrypcji na serwerze o danym ID zwracanym przez metodę Subscribe.
Tu błąd moim zdaniem nie leży.

Jest dołączony przykład w C# do tego API. Odpaliłem Visual Studio i wrzuciłem ten przykład jak również podpiąłem DLLkę z API do Projektu i po skompilowaniu wszystko działa. Ale ujawniły się dodatkowe składowe całego API o których w dokumentacji nic nie pisze :/
Główna klasa API posiada składowe typy "virtual event" do których w przykładzie załączonym przypisywane są instancje EventHandlerów o typie "delegate", które jako argument przyjmują nazwę metody zaimplementowanej w klasie korzystającej z API, która to metoda ma właśnie event odebrać. W bibliotece API jest jeszcze jakaś "sealed" klasa jako SinkHelper.

Czy z poziomu PHP można mieć dostęp do tak skomplikowanych struktur obiektu COM (IMG:style_emoticons/default/questionmark.gif) Pojęcia nie mam.

Ten post edytował jarek_bolo 18.05.2015, 09:58:11
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 02:22