WilkAss Opublikowano 11 Stycznia 2010 Udostępnij Opublikowano 11 Stycznia 2010 #include <allegro.h> #define funkcja extern "C" __declspec(dllexport) /* ... */ funkcja double ZiemniakDzwiek_Wylacz_Dzwiek( char* dzwiek ) { stop_sample(dzwiek); } Może ktoś powiedzieć co robię źle? Jak wpisze zamiast dzwiek coś innego to spoko działa :/ Ale jak to co ma wpisywać uzytkownik DLL'a(ten char* ) :/ Tak jest zawsze przy grafikach,dźwiękach,ścieżkach etc ;/ Może ktoś powiedzieć jak to zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 11 Stycznia 2010 Udostępnij Opublikowano 11 Stycznia 2010 ale do dokumentacji to w ogóle nie zajrzałeś ;/ jednak nie będą z Ciebie ludzie póki nie zapoznasz sie z umiejętnością czytania dokumentacji :P http://www.allegro.cc/manual/api/digital-s...nes/stop_sample Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 11 Stycznia 2010 Autor Udostępnij Opublikowano 11 Stycznia 2010 Nie rozumiesz o co mi chodzi :) Chodzi o to że jak kaze zatrzymac zmienną char to nie zatrzymuje tylko błąd wywala :/ Dll się nie kompiluje ;/ A jak byle co byle nie ten char to odrazu się kompiluje :/ to ja coś muszę źle pisać bo funkcja jest na pewno dobra ;/ może zamiast char* dać int? ale gdzie...toć to nie możliwe :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 11 Stycznia 2010 Udostępnij Opublikowano 11 Stycznia 2010 łojezu, Ty nie rozumiesz - jakim cudem chcesz przekazać wskaźnik na cstring funkcji która potrzebuuje wskaźnik na sample? :0 dla tego mówie abyś pierw czytał dokumentacje, bo żadna funkcja nie zrobi się taka jaką Ty chcesz. Nie funkcja się dostosowuje do Ciebie a Ty do funkcji :P przeczytaj wać tą dokumentacje, dokłaniej wpis o tej funkcji a zrozumiesz (pewnie) co robisz źle. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 11 Stycznia 2010 Autor Udostępnij Opublikowano 11 Stycznia 2010 ehh...no nie wiem :D mam se kod(nie działa xD) funkcja double ZiemniakDzwiek_Dodaj_Dzwiek( char* dzwiek, char* Sciezka ) { SAMPLE *dzwiek = NULL; dzwiek = load_sample(Sciezka); return 0; } i ja nie wiem jak to inaczej zrobić :/ Uczyłem się z tego arta : https://gmclan.org/index.php?czytajart=36. Z winapi nie ma problemów nigdy...tylko te allegro...xD Możesz powiedzieć dokładnie co robię źle? Wiem że coś z char*... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 11 Stycznia 2010 Udostępnij Opublikowano 11 Stycznia 2010 Panie, masz tam definicje 2 zmiennych tej samej nazwy: "dzwiek" - w argumencie i w ciele funkcji. nie można tak. // funkcja laduje dzwiek i zwraca wskaznik na niego funkcja double ZiemniakDzwiek_Dodaj_Dzwiek( char* Sciezka ) { SAMPLE *dzwiek = NULL; dzwiek = load_sample(Sciezka); return (double)(unsigned int)dzwiek; // rzutujemy wskaznik do double } // funkcja stopuje dzwiek podajac jej wskaznik na sample funkcja double ZiemniakDzwiek_Wylacz_Dzwiek( double dzwiek ) { stop_sample((SAMPLE*)(unsigned int)dzwiek); // rzutujemy double na wskaznik return 1; } ale ze wskaznikami jest o tyle niebezpiecznie ze jesli masz inne struktury ktore tez rzutujesz wskaznik na double i odwrotnie to jesli pomylisz wskazniki (typy) to wykrzaczy aplikacje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 11 Stycznia 2010 Autor Udostępnij Opublikowano 11 Stycznia 2010 Dźwięki! ;D Dll się skompilował i już chyba załapałem o co w tym chodzi ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 11 Stycznia 2010 Udostępnij Opublikowano 11 Stycznia 2010 Prosze bardzo :) tak czy inaczej zrob sobie liste wskaznikow na sample w ktorej bedziesz trzymal wskazniki na wszystkie zaladowane sample, dzieki czemu bedziesz mogl za jednym razem na zakonczenie pracy dlla usunac z pamieci trzymane sample, bez koniecznosci usuwania kazdego po kolei. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
WilkAss Opublikowano 11 Stycznia 2010 Autor Udostępnij Opublikowano 11 Stycznia 2010 ehh ;D Ja tak za bardzo to się w tym dllu nie rozpisuje :) Tak dla nauki pisałem :] I ciągle z tym miałem problem :D 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ę