Utermiko Opublikowano 1 Stycznia 2013 Udostępnij Opublikowano 1 Stycznia 2013 Po co pisać na Windowsa, skoro z poprzednimi wersjami jest niekompatybilny? :D Jeśli piszesz to w Delphi (dafuq, nie powiem) to kompiluj statycznie (jeśli dobrze wiem co to znaczy :D) Fervi wut? Kto Ci tak powiedział? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fervi_ Opublikowano 1 Stycznia 2013 Udostępnij Opublikowano 1 Stycznia 2013 Chociażby niekompatybilności w sterownikach między Windows 7 a Windows 8 Compi powinien zrobić Kacz De Klałna na Windows 8, to byłby hit sezonu, bo takie gry się nadają na ten nowy Modern UI Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 1 Stycznia 2013 Udostępnij Opublikowano 1 Stycznia 2013 @Fervi Sterownik to sterownik. Programy w większości są kompatybilne. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fervi_ Opublikowano 1 Stycznia 2013 Udostępnij Opublikowano 1 Stycznia 2013 W większości - ok Problem w tym, że Windows ani się nie rozwija, ani nic - takie ble, więc nie rozumiem braku niekompatybilności Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 2 Stycznia 2013 Autor Udostępnij Opublikowano 2 Stycznia 2013 To nie temat o Windowsach, więc koniec dyskusji. Co do Slapa, to mam pomysł jak zrobić środowisko(?) WYSWIG to operowania wizualnymi komponentami. To by było coś :] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 2 Stycznia 2013 Udostępnij Opublikowano 2 Stycznia 2013 W sensie auto-generowanie kodu przez designer? To by było super :D BTW. Język będzie obiektowy czy strukturalny (czy może oba na raz)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fervi_ Opublikowano 2 Stycznia 2013 Udostępnij Opublikowano 2 Stycznia 2013 Zrób język do Botów, czyli modyfikacje adresów, tworzenie proste GUI, Bruteforce itd. Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 2 Stycznia 2013 Autor Udostępnij Opublikowano 2 Stycznia 2013 W sensie auto-generowanie kodu przez designer? To by było super :D BTW. Język będzie obiektowy czy strukturalny (czy może oba na raz)? Oba naraz Designer generuje kod. Każda akcja wykonana na formie ma swoje id. Każdy element ma swoje id Slap wykonuje nieskończoną pętle, rejestrując wiadomości z form i wykonuje napisany przez nas kod. Podobnie działa delphiak. Nikt nie widział pewnie pętli WndProc, ale ona jest Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 3 Stycznia 2013 Udostępnij Opublikowano 3 Stycznia 2013 Tzn będzie coś w formie eventów ta? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 3 Stycznia 2013 Autor Udostępnij Opublikowano 3 Stycznia 2013 No mniej więcej. Nie będzie widać samej pętli okna, tylko procedury. W stylu Button1Onclick Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fervi_ Opublikowano 4 Stycznia 2013 Udostępnij Opublikowano 4 Stycznia 2013 To czekamy na zapowiadaną wersję dla Linuksa :P Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 8 Stycznia 2013 Autor Udostępnij Opublikowano 8 Stycznia 2013 Jak rozkminię działanie libów pod uxem i sam owego uxa będę miał, to wersja pod linuxa powstanie. Co do wersji pod Windowsa, to planuje dodać pełne wsparcie SDL Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 8 Stycznia 2013 Udostępnij Opublikowano 8 Stycznia 2013 Nie lepiej SFML? Ładny, obiektowy i prosty. Skoro będzie można używać natywnych dll'i to mogę przerobić DotNetGMCrossover na twój język jeśli znajdę czas. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 13 Stycznia 2013 Autor Udostępnij Opublikowano 13 Stycznia 2013 Nie lepiej SFML? Ładny, obiektowy i prosty. Skoro będzie można używać natywnych dll'i to mogę przerobić DotNetGMCrossover na twój język jeśli znajdę czas. Nie ma nic w stylu Canvasa w HTML5? Jeżeli chodzi o twoją dllkę, to powiedz mi, czy argumenty są układane na stosie w stylu stdcall? Jeśli tak to nic nie trzeba przerabiać :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Stycznia 2013 Udostępnij Opublikowano 13 Stycznia 2013 Nie ma nic w stylu Canvasa w HTML5? Jeżeli chodzi o twoją dllkę, to powiedz mi, czy argumenty są układane na stosie w stylu stdcall? Jeśli tak to nic nie trzeba przerabiać :) Źródła są dołączone. Zresztą spójrz na skrypty w gml jak wywoływana jest funkcja i spokojnie przeniesiesz to na Slapa. Gdybyś potrzebował innych typów niż char* i double to pisz. Jak chcesz mogę już od razu skompilować binarkę na .NET 4, bo 4.5 nie ma na XP. Konkretnie to najpierw czyścisz listę z argumentami (ClearArguments), wrzucasz po kolei argumenty funkcjami "AddStringArgument" i "AddRealArgument", później wywołujesz "StringMethod" lub "RealMethod" (w zależności co zwraca) i voila. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 13 Stycznia 2013 Autor Udostępnij Opublikowano 13 Stycznia 2013 Ok Bardzo bym prosił :) @Mógłbyś jeszcze LPVOID dodać, lub 4 bajtowe integery? Potrzebuje do wskaźników Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Stycznia 2013 Udostępnij Opublikowano 13 Stycznia 2013 Ok Bardzo bym prosił :) Znaczy chodzi Ci o binarkę .NET 4 czy inne typy danych? xd Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 13 Stycznia 2013 Autor Udostępnij Opublikowano 13 Stycznia 2013 Obydwie binarki z LPVOID i int @EDIT: Widzę, że czas usunąć limit 5 argumentów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Stycznia 2013 Udostępnij Opublikowano 13 Stycznia 2013 Obydwie binarki z LPVOID i int Dobra postaram się zrobić. LPVOID to z tego co wyczytałem IntPtr w .NET. @EDIT Jaki limit argumentów? ;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 13 Stycznia 2013 Autor Udostępnij Opublikowano 13 Stycznia 2013 W slapie jest limit pięciu argumentów w wywołaniu call nazwa(arg1,arg5). Ale w natywnym kodzie jest limit 20 argumentów, które są umieszczne w wirtualnych rejestrach RG0..RG19 i odkładane na stosie od najstarszego do najmłodszego. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Stycznia 2013 Udostępnij Opublikowano 13 Stycznia 2013 Domyślnie zwracać int'a czy double (tzn. czy coś się udało/nie udało. w gm'ie trzeba było double z wiadomych przyczyn)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 13 Stycznia 2013 Autor Udostępnij Opublikowano 13 Stycznia 2013 Najlepiej integer. Jeśli to będzie string to niech zwraca wskaźnik @EDIT: zwracany typ (ty_string lub ty_real) Ten argument w dotnet_method to string? @@EDIT: Stary, nawet nie wiesz jak ci dziękuję. Teraz Slap będzie mógł korzystać z .NET Frameworka :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 13 Stycznia 2013 Udostępnij Opublikowano 13 Stycznia 2013 Najlepiej integer. Jeśli to będzie string to niech zwraca wskaźnik @EDIT: Ten argument w dotnet_method to string? char* gm to traktuje jako string źle zrozumiałem. gml sprawdza czy dałeś tam ty_real czy ty_string i wywołuje odpowiednią funkcję z dll'a Po prostu wpisujesz ty_real bądź ty_string, w zależności jaki typ jest zwracany, tak jak przy definiowaniu zwykłych dll (external_define) w gm. Obczaj zresztą skrypt ;p @EDIT Tak wgl to sprawdzałeś czy działa w slapie ten dla GM'a? @@EDIT: Stary, nawet nie wiesz jak ci dziękuję. Teraz Slap będzie mógł korzystać z .NET Frameworka :) Czyli działa? :) @EDIT Skończyłem :D Link: https://gmclan.org/up8194_3_DotNetSlapCrossover1_0.html W środku binarki dla .NET 4 oraz 4.5, source oraz przykłady. Testowałem importowanie funkcji przez P/Invoke w c# bo już mnie denerwowało cpp ;p (czyli zarządzany program odwoływał się do mieszanej biblioteki która z kolei odwoływała się do dynamicznie ładowanego, zarządzanego dll) Dodałem więcej typów do wykorzystania(kwestia dopisania paru linijek). Poniżej lista typów oraz ich odpowiedników w .NET. Nie zapomniałem oczywiście o LPVOID. W .NET to System.IntPtr. char* to System.String.(tego też nie ma w tej tabelce) Tutaj taka lista co możesz zaimportować (wycinek z kodu): //######################### //AUTHOR OF DLL: Utermiko # //######################### #define EXPORT extern "C" __declspec(dllexport) EXPORT int LoadDll(char* path); EXPORT int CreateObject(int assemblyId, char* namespaceAndClass); EXPORT int RemoveObject(int objectId); EXPORT int ClearArguments(); EXPORT int AddStringArgument(char* value);//System.String EXPORT int AddCharArgument(char value);//System.SByte EXPORT int AddUCharArgument(unsigned char value);//System.Byte EXPORT int AddDoubleArgument(double value);//System.Double EXPORT int AddFloatArgument(float value);//System.Float EXPORT int AddIntArgument(int value);//System.Int32 EXPORT int AddUIntArgument(unsigned int value);//System.UInt32 EXPORT int AddShortArgument(short value);//System.Int16 EXPORT int AddUShortArgument(unsigned short value);//System.UInt16 EXPORT int AddLongArgument(long value);//System.Int64 EXPORT int AddULongArgument(unsigned long value);//System.UInt64 EXPORT int AddLPVOIDArgument(LPVOID value);//System.IntPtr EXPORT char* InvokeStringMethod(int objectId, char* methodName);//System.String EXPORT char InvokeCharMethod(int objectId, char* methodName);//System.SByte EXPORT unsigned char InvokeUCharMethod(int objectId, char* methodName);//System.Byte EXPORT double InvokeDoubleMethod(int objectId, char* methodName);//System.Double EXPORT float InvokeFloatMethod(int objectId, char* methodName);//System.Float EXPORT int InvokeIntMethod(int objectId, char* methodName);//System.Int32 EXPORT unsigned int InvokeUIntMethod(int objectId, char* methodName);//System.UInt32 EXPORT short InvokeShortMethod(int objectId, char* methodName);//System.Int16 EXPORT unsigned short InvokeUShortMethod(int objectId, char* methodName);//System.UInt16 EXPORT long InvokeLongMethod(int objectId, char* methodName);//System.Int64 EXPORT unsigned long InvokeULongMethod(int objectId, char* methodName);//System.UInt64 EXPORT LPVOID InvokeLPVOIDMethod(int objectId, char* methodName);//System.IntPtr @EDIT Nie zapomnij użyć "ClearArguments" przed dodawaniem argumentów do wywołania innej metody. Najczęściej na tym można się złapać :P @EDIT2 Jeszcze jedno. Przy "LoadDll" trzeba podawać PEŁNĄ ścieżkę. @EDIT3 Nie testowałem wszystkich funkcji Invoke... i Add... , ale powinny działać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fervi_ Opublikowano 14 Stycznia 2013 Udostępnij Opublikowano 14 Stycznia 2013 Ja proponuję, byś napisał to w .Not 2.0, bo: - Większość ma Not 2.0 - Kopatybilny z Mono - .Not 4.0 / 4.5 to 8'ka lub update 7'ki Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 14 Stycznia 2013 Udostępnij Opublikowano 14 Stycznia 2013 Ja proponuję, byś napisał to w .Not 2.0, bo: - Większość ma Not 2.0 - Kopatybilny z Mono - .Not 4.0 / 4.5 to 8'ka lub update 7'ki Fervi Tyle, że .NET 2 w porównaniu do .NET 4 ma bardzo małe możliwości. To nie tylko rozszerzenie o kilka klas. Do tego po co używać przestarzałego oprogramowania skoro i tak nieliczne osoby używają win 2000 i starsze systemy. .NET 4 to xp, vista, 7 i 8. .NET 4.5 to 7 i 8 (i vista jeszcze chyba) .NET 4.5 jest i tak tylko rozszerzeniem 4 o parę przydatnych klas i innych dupereli. CLR dalej jest ten sam. To jest napisane w C++/CLI, a Mono chyba tego nie obsługuje. Jak chcesz to się baw w portowanie na Mono. Dołączyłem source przecież. PS. Jak piszesz "Not" to nie jesteś fajny. @EDIT Compi, tak z ciekawości. Po co Ci LPVOID? Jakieś specyficzne zastosowanie? Na językach zarządzanych wskaźniki przydają się wg. mnie tylko przy importowaniu natywnych dlli. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Fervi_ Opublikowano 14 Stycznia 2013 Udostępnij Opublikowano 14 Stycznia 2013 Tyle, że .NET 2 w porównaniu do .NET 4 ma bardzo małe możliwości. To nie tylko rozszerzenie o kilka klas. Do tego po co używać przestarzałego oprogramowania skoro i tak nieliczne osoby używają win 2000 i starsze systemy. .NET 4 to xp, vista, 7 i 8. .NET 4.5 to 7 i 8 (i vista jeszcze chyba) .NET 4.5 jest i tak tylko rozszerzeniem 4 o parę przydatnych klas i innych dupereli. CLR dalej jest ten sam. To jest napisane w C++/CLI, a Mono chyba tego nie obsługuje. Jak chcesz to się baw w portowanie na Mono. Dołączyłem source przecież. PS. Jak piszesz "Not" to nie jesteś fajny. @EDIT Compi, tak z ciekawości. Po co Ci LPVOID? Jakieś specyficzne zastosowanie? Na językach zarządzanych wskaźniki przydają się wg. mnie tylko przy importowaniu natywnych dlli. Bo to jest technologia .Not Ja tam nie wiem co Compi chce, ale z tego co wiem to planuje port na Linuksa, a tam Mono Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 14 Stycznia 2013 Udostępnij Opublikowano 14 Stycznia 2013 Bo to jest technologia .Not Tyle, że to nie jest nawet w najmniejszym stopniu śmieszne :P Nie musisz publicznie przedstawiać swojego wstrętu do MS. (w następnym poście fervi napisze M$). Ja tam nie wiem co Compi chce, ale z tego co wiem to planuje port na Linuksa, a tam Mono W jaki sposób chcesz to osiągnąć? Pod Mono da się odpalić binarki C++/CLI? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 15 Stycznia 2013 Autor Udostępnij Opublikowano 15 Stycznia 2013 Panowie, kłócicie się jak dzieci. LPVoid potrzebny jest do wewnętrznej struktury Slapa, gdzie wykorzystuje wskaźniki do wołania zew. funkcji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 4 Lutego 2013 Autor Udostępnij Opublikowano 4 Lutego 2013 Właśnie pracuję nad nową wersją Slapa. Teraz jest w stanie wykonać 363 linie kodu na sekunde :) Od następnej wersji zmienne będą musiały zaczynać się od $ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 4 Lutego 2013 Udostępnij Opublikowano 4 Lutego 2013 A jak poszło z .NET'ową libką? Działa czy coś nie tak? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się