Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ Builder końcowe pakowanie programu + bonus

franz87 15 Paź 2013 20:04 1473 4
  • #1 15 Paź 2013 20:04
    franz87
    Poziom 16  

    Witam, ukończyłem program w Borland C++ Builder, jest to gra i chciałbym ją teraz wysłać znajomemu. Mam tam folder z plikami multimedialnymi jak zdjęcia, dźwięki, video, które są wykorzystywane w programie. Jak spakować wszystko tak,żeby odbiorca dostał plik wynikowy exe + ten folder z multimediami... i odtworzył to nie mając oczywiście środowiska Builder C++

    Pytanie drugie, chciałbym poprawić w programie jedną rzecz.
    Mianowicie mam Form1, który poprzez ShowModul() wywołuje Form2, a ten z kolei w pewnym momencie kodu wywołuje Form3
    W Form3 jest odtwarzany automatycznie plik video poprzez MediaPlayer1->AutoOpen
    Problem jest taki, że po włączeniu gry - na początku Form1, odtwarza się w tle dźwięk z video z Form3?
    Jak to ominąć

    0 4
  • Pomocny post
    #2 16 Paź 2013 11:45
    beluosus
    Poziom 25  

    Ad. 1) Było wałkowane milion razy:
    Project->Options->Linker->Use dynamic RTL (odznaczyć)
    Project->Options->Packages->Build with runtime packages (odznaczyć)
    tutaj więcej: http://bcbjournal.org/articles/vol4/0009/Building_stand-alone_EXEs.htm

    Ad. 2) Sprawdź gdzie robisz MP->Play(), być może w OnCreate dla Form3, jeśli tak to przenieś np. do OnShow. Mógłbyś też AutoOpen na false dać, wtedy to przyspieszy uruchamianie aplikacji, a przy Form3::OnShow zrobić:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #3 16 Paź 2013 16:18
    franz87
    Poziom 16  

    Dzięki, ad1 i ad2 zrobione wg twojej sugestii działa.

    Mam jeszcze pytanie czy jest możliwość spakowania jakoś dodatkowych plików *jpg *avi *wmv w jeden plik. Tak,żeby gra była jednym exe?

    ps. jest sposób,żeby w Edit1-> zawsze był ustawiony kursor? Teraz muszę za każdym razem kliknąć,żeby napisac

    0
  • Pomocny post
    #4 16 Paź 2013 20:16
    Dżyszla
    Poziom 42  

    Można nie tyle spakować, co umieścić w zasobach pliku EXE. Wówczas zamiast ładować z plików - ładujesz wprost z zasobów (LoadFromResource dla sporej części obiektów; dla pozostałych można zawsze użyć strumieni).

    Do ustawienia aktywności każdej kontrolki po TWinControl służy metoda SetFocus

    0
  • #5 16 Paź 2013 21:29
    franz87
    Poziom 16  

    Dziękuje za pomoc.
    Teraz wszystko działa tak jak chciałem.

    0