Skocz do zawartości

[Delphi] -Dodanie kodu do programu, on/ off programu i kopii


Integer

Polecane posty

Jak mając napisany Delphi 2007 (żeby nie zaciemniać obrazu):

Program_Zrodlowy.exe i Program_Uaktualniajacy.exe

zrobić żeby

 

3.a) Program_Zrodlowy.exe uruchomił Program_Uaktualniajacy.exe;

 

3.b.) Program_Uaktualniajacy.exe skopiował Program_Zrodlowy.exe i dodał funkcję w module Unit2,

aby była dostępna również z Unit1 Program_Zrodlowy.exe-ka; jakby też można było dodać cały

moduł Unit3 z procedurami.

To dodawanie tak bezpośrednio do execa ale i może byc przez "zdalną" kompilację.

 

3.c) Program_Uaktualniajacy.exe uruchamia kopie do Program_Zrodlowy_1.exe.

 

3.d) Program_Uaktualniajacy.exe przekazuje info do Program_Zrodlowy.exe aby się zamknął

i go kasuje a sam się zamyka i ewentualnie kasuje.

 

3.e) Program_Zrodlowy_1.exe wydaje polecenie aby Program_Uaktualniajacy.exe się zamknął

i go kasuje.

 

 

P.S. Chciałem doprowadzić do tego, żeby Program_Zrodlowy.exe sam się uaktualniał przez przygotowane przez siebie uaktualnienie bez ingerencji użytkownika dlatego na forum równolegle zamieściłem inną część tego tematu.

Pytam o jakiś nawet najprostszy przyczółek, a potem się zobaczy każde info czy link na wagę.. wiedzy :)

 

Jak bedę musiał to zejdę do poziomu Win_API albo asemblera ale czasami ludzie znają różne sztuczki więc może przypadkiem ... :) nie będę musiał wyważać otwartych drzwi.

Link do komentarza
Udostępnij na innych stronach

Dodać do exeka już skompilowanego jakiś nowy unit to "się nie da" :] najlepiej jest podmienić cały exe :) czyli u Ciebie to by wyglądało tak:

1. Istnieje Program_Zrodlowy.exe

2. Użytkownik ściąga Program_Uaktualniajacy.exe

3. Użytkownik uruchamia Program_Uaktualniajacy.exe

4. Program_Uaktualniajacy.exe kasuje Program_Zrodlowy.exe

5. Program_Uaktualniajacy.exe zawiera w zasobach binarkę Program_Zrodlowy.exe (Nową wersje)

6. Program_Uaktualniajacy.exe się zamyka

7. Użytkownik kasuje Program_Uaktualniajacy.exe

 

;) chyba najprostsza aktualizacja :)

Pozdrawiam.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Haha :)

Teoretycznie i praktycznie tak ale ja chciałem doprowadzić do tego, żeby Program źródłowy sam się uaktualniał przez przygotowane przez siebie uaktualnienie bez ingerencji użytkownika dlatego na forum równolegle zamieściłem inną część tego tematu.

Link do komentarza
Udostępnij na innych stronach

Jeśli chodzi o budowę to chciałem temat potraktować globalnie, żeby mieć porównanie szybkości działania a po wtóre nie wiadomo kiedy co się może przydać.

 

Przesyłania uaktualnienia chciałbym uniknąć, ponieważ w grę wchodzą duże pliki, ale... ale... program uaktualniający może mieć informacje które fragmenty starego pliku wynikowego usunąć lub zmienić i gdzie wstawić nowe... a to już jakiś procent KB zaoszczędzone tym bardziej że aplikacja ma się ciągle rozwijać.

Link do komentarza
Udostępnij na innych stronach

ja chciałem doprowadzić do tego, żeby Program źródłowy sam się uaktualniał przez przygotowane przez siebie uaktualnienie bez ingerencji użytkownika

 

Hmm wiesz... ja też bym chciał, by program mi się sam aktualizował... ba by sam sobie błędy poprawiał... :D

 

A tak bez żartów, to zrób tak, by program aktualizujący się uruchamiał jako pierwszy i sprawdzał aktualizacje programu głównego, jeżeli znajdzie to ściąga, podmienia i dopiero uruchamia ten program, a siebie wyłącza... ;]

 

Innego rozwiązania nie widzę, proces "kompilacji" jak to w swych postach napisałeś :P wymaga dostarczania źródeł programu + kompilatora, a to się mija z celem... ;]

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Niestety i wywołanie procesu kompilacji też mi będzie potrzebne bo planuję aby "serwer" miał możliwość testowania różnych wersji kodu (pod względem szybkości i wydajności) prowadzącego do określonego wyniku

 

Program ma np.

1. przeczytać tekst z postu, wyodrębnić fragment kodu.

2. Wstawić go ze spreparowanym opisem do tempa

3. Wykonać samoistnie plik wynikowy

4. Jeśli będzie błąd kompilacji to np. nie będzie *.dcu lub *.exe

5. Jeśli wszystko gra to zapisze w swojej bazie.

6. jeśli kod okaże się pomocny to włączy go w swoje ciało lub DLL

 

Jak widzisz program uaktualniający musi być jako drugi bo główny będzie stanowił jakby systemem.

Link do komentarza
Udostępnij na innych stronach

  • 2 months later...

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...