3 różne problemy: INDY TCP/IP, ikony i dźwięki w delphi

0

Witam,

napisałem już większą część mojej gry i na wykończeniu nadziałem się na 3 problemy, z którymi, szczerze powiem, nie za bardzo wiem jak się uporać:

  1. pierwszy i najpoważniejszy to granie przez Intenet (gra jest multiplayer). Całą obsługę sieci robiłem na IdTCPServer i IdTCPClient. Testowałem na LANie w około 6-7 osób (każdy ze swoim komputerem) i wszystko działało dobrze, nie było widać nawet dużych lagów. Jednak za wszelką cenę chciałem sprwadzić, jak będzie to działało przez Internet. W końcu dorwałem kumpla z publicznym IP i przesłałem mu grę. Postawił serwer bez problemów. Podał mi swój IP, port na którym stoi gra. Włączyłem klienta, wpisałem dane i kliknąłem "połącz". Klient znalazł serwer i się do niego podłączył (nawet nie trzeba było długo czekać), jednak od razu po tym rozłączył się. Spróbowałem jeszcze raz - to samo. Czytałem, że jak się pisze gre sieciową na TCP/IP to nie ma znaczenia czy zamierza się grać po LANie czy przez Internet, dlatego nie wiem czym to jest spowodowane, skoro na LANie wszystko było OK. Szczerze powiem, że nawet nie wiem co sprawdzić...

  2. zrobiłem ikonę do mojej gry: 32bitową z zapisanymi rozmiarami 16x16, 32x32 i 48x48 px. Kiedy chcę ją załadować do aplikacji, to Delphi mówi, że to nie jest prawidłowy typ ikony. Tak samo nie mogę wrzucić jej jako ikony formy. Później zapisałem ją jeszcze raz tym razem tylko w rozmiarach 16x16 i 32x32 (@32bit). Zadziałało. Może to głupie, ale ja chcę koniecznie, aby program miał ładną ikonę w rozmiarze 48x48 px (przynajmniej dlatego, że ja takich używam :-D ). Czy jest może jakiś update do Delphi 7 Enterprise, do prawidłowej obsługi takich ikon, bo moim zdaniem, to trochę nie z duchem czasu :-P...

  3. czy da się jakoś wyłączyć obługę dźwięków systemowych Windows. Chodzi mi o to, że mam okienko do czata i się w nim pisze na komponencie TextEdit i jak się naciśnie ESC (anulowanie pisania) albo ENTER (wysłanie wiadomości) to Windows wydaje dźwięk jakby jakiś MessageBox wyskoczył albo inne dziadostwo. Zresztą sprwadźcie sami: wstawcie TextEdit do okienka odpalcie program, zacznijcie coś pisać, naciścnijcie ESC albo ENTER. Gra jest cicha, nieudźwiękowiona (szkoda) i szczególnie nie chcę, aby Windows dorzucał mi takie niespodzianki. Wie ktoś jak to usunąć?

I proszę tylko... nie odpowiadajcie "GOOGLE". Szukałem już 2 dni ...

0
  1. Ja bym sprawdził snifferem co konkretnie jest wysyłane/odsyłane.
  2. Zakładając, że numer klawisza masz w zmiennej key ustaw na końcu
key := #0;
0

Ty mówisz:

key := #0;

...a Delphi na to:
[Error] Gra.pas(2400): Incompatible types: 'Word' and 'Char'

Oczywiście domyślam się, że chodzi Ci o zdarzenie TForm.onKeyDown?

Co do tego sniffera, to zaraz czegoś poszukam i sprubóję coś wyczaić.

A na pytanie 2 zna ktoś odpowiedź?

0

Sry, że nowy post, ale nie mogę edytować :( - chyba się zarejestruje zaraz.

Wstawiłem:

Key:=0;

...i niestety nie pomogło :|

0

Witam, jestem już użytkownikiem ;-P.

Poradziłem sobie z problemem dźwięków systemowych. Ponieważ ma uczyć bawiąc i bawić ucząc dlatego zamieszcze rozwiązanie.

WŁĄCZANIE/WYŁĄCZANIE DŹWIĘKÓW SYSTEMOWYCH W DELPHI
Jeśli denerwują was różne dźwięki wydawane przez Windowsa, możecie je łatwo wyłączyć z poziomu waszego ulubionego programu :-D.

Oto jak:

SystemParametersInfo(SPI_SETBEEP,1,NIL,SPIF_SENDWININICHANGE); // WŁĄCZANIE
SystemParametersInfo(SPI_SETBEEP,0,NIL,SPIF_SENDWININICHANGE); // WYŁĄCZANIE

UWAGA!!! Jest jeden efekt uboczny! Takie rozwiązanie wyłącza (tymczasowo) wszystkie dźwięki wydawane przez system, nawet w innych aplikacjach!</span>

Życzę miłego dnia, staram się rozwiązać pozostałe dwa problemy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1