Aplikacja nadrzędna dla innych aplikacji

Aplikacja nadrzędna dla innych aplikacji
EW
  • Rejestracja:około 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:2
0

Witam, mam kilka aplikacji tzn:
Raport.exe
Kontrola.exe
Infrastruktura.exe
itd... napisanych w Pascalu

Teraz pytanie czy jest jakieś rozwiązanie na stworzenie Aplikacji nadrzędnej z modułem logowania za pomocą którego będzie można uruchamiać poszczególne aplikacje aplikacje.
Przy czym jeśli nie zalogujemy się do aplikacji nadrzędnej to nie uruchomimy aplikacji podrzędnej.
Zamknięcie aplikacji nadrzędnej zamyka też otwarte aplikacje podrzędne.

Zastanawiałem się nad szyfrowanym plikiem *.ini

Jeśli macie jakieś pomysły to bardzo proszę o wypowiedzenie się,

Lazarus 2.0.6

edytowany 1x, ostatnio: flowCRANE
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 godzin
  • Lokalizacja:Tuchów
  • Postów:12175
1
elektoWroc napisał(a):

Teraz pytanie czy jest jakieś rozwiązanie na stworzenie Aplikacji nadrzędnej z modułem logowania za pomocą którego będzie można uruchamiać poszczególne aplikacje aplikacje.

Oczywiście, ale to zależy jak całość ma wyglądać. Jaki efekt Cię interesuje? Chcesz po prostu się zalogować i uruchamiać inne programy jako osobne procesy (widoczne osobno na pasku zadań), czy mieć jedną aplikację, w której wnętrzu będą osadzone inne aplikacje, w ramach jednego procesu?

Przy czym jeśli nie zalogujemy się do aplikacji nadrzędnej to nie uruchomimy aplikacji podrzędnej.

Pracujesz nad konkretnym produktem czy wystarczą Ci rozwiązania proste, niezbyt bezpieczne?

Zamknięcie aplikacji nadrzędnej zamyka też otwarte aplikacje podrzędne.

To można zrealizować na wiele sposobów – bezpiecznych i ”chamskich”. Szczegóły są potrzebne.

Zastanawiałem się nad szyfrowanym plikiem *.ini

Szyfrowanym plikiem czy szyfrowanymi danymi w pliku? Niektórzy producenci przechowywali hasła w postaci hashy w zwykłych tekstowych plikach konfiguracyjnych (dokładniej: XML), więc i INI nie byłoby złe. Ale że INI nie wspiera drzewiastej struktury, to jego zastosowania są ograniczone.

Może TreeStructInfo, skoro Lazarusa używasz? ;)


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 1x, ostatnio: flowCRANE
EW
  • Rejestracja:około 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:2
0

generalnie chodzi mi o to żeby było to bezpieczne rozwiązanie a pojedynczy exe-c żeby nie miał 200Mb , jeśli w danym momencie potrzebna jest 1 z 8 aplikacji i ta ma 12Mb, może też dla prostoty jedna aplikacja to kilka formularzy które łatwo ogarnąć a nie kilkadziesiąt. Wszystkie aplikacje sa aplikacjami które operują na tej samej bazie danych (mysql) wiec może w bazie zapisać cześć poświadczeń.

edytowany 1x, ostatnio: elektoWroc
WL
  • Rejestracja:ponad 21 lat
  • Ostatnio:28 dni
  • Postów:1083
1
elektoWroc napisał(a):

generalnie chodzi mi o to żeby było to bezpieczne rozwiązanie

Co to znaczy bezpieczne rozwiązanie w tym kontekście?

a pojedynczy exe-c żeby nie miał 200Mb

Po pierwsze musiałbyś się sporo natrudzić i nie wiadomo ile BMP zaszyć w zasobach, aby to miało 200 MB.
A po drugie - to jakiś problem? ;-)

, jeśli w danym momencie potrzebna jest 1 z 8 aplikacji i ta ma 12Mb, może też dla prostoty jedna aplikacja to kilka formularzy które łatwo ogarnąć a nie kilkadziesiąt.

Totalnie z czapy argument imo.
OK, masz mniejszy exe i mniej formatek. Fajnie.
Ale masz nowe problemy z synchronizacją danych pomiędzy różnymi procesami. Niefajnie.

To może podziel całą aplikację na moduły?
DLLkie odpadają, bo nie zyskasz na mniejszej wielkości plików wynikowych. W sumie, to ich suma będzie wielokrotnie większa niż jednego EXE.
Nie wiem jak w FPC, ale w Delphi każda DLLma własną kopię RTL'a - a to kolejne problemy.
Zysk niewielki, kłopotów mnóstwo.
Odpowiednik BPL jest dla Delphi/FPC zdecydowanie zdrowszym rozwiązaniem, ale ma jedną wadę i jedną niedogodność.
Wada - nie da się używać BPL skomplikowanych w różnych wersjach kompilatora.
Niedogodność - nie da się napisać takiego pluginu np. w Javie.

Oczywiście da się obejść te ograniczenia, ale to z kolei temat rzeka, bo jedynym sensownym rozwiązaniem będzie COM.
Ale raczej an pewno nie masz takich potrzeb...

Wszystkie aplikacje sa aplikacjami które operują na tej samej bazie danych (mysql) wiec może w bazie zapisać cześć poświadczeń.

Nieważne ile masz tych formularzy, ale na Twoim miejscu wszytko bym zrobił w jednym exe.
Zresztą dziwi mnie, że są to osobne exe bo takich tematów w aplikacjach biznesowych nie widziałem już od bardzo dawna...
Kod którego nie wykonasz nikogo nie boli, a że będzie w exe - a niech sobie będzie.
A jeżeli naprawdę będzie to potrzebne, to napiszesz sobie to na modułach ładowanych dynamicznie w zależności od potrzeb.

edytowany 1x, ostatnio: wloochacz
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 godzin
  • Lokalizacja:Tuchów
  • Postów:12175
0
elektoWroc napisał(a):

generalnie chodzi mi o to żeby było to bezpieczne rozwiązanie a pojedynczy exe-c żeby nie miał 200Mb […]

Plik wykonywalny Lazarusa waży 227MB, a mimo to IDE startuje i działa ekspresowo.

Bez względu na rozmiar pliku wykonywalnego, do pamięci ładowane jest tylko co potrzeba, a nie wszystko co popadnie. Wyjątkiem są aplikacje kompresowane pakerami pokroju UPX, ale tych nie za bardzo jest sens używać, biorąc pod uwagę współczesne standardy co do pojemności dysków twardych i RAM oraz przepustowości łącza.

Wszystkie aplikacje sa aplikacjami które operują na tej samej bazie danych (mysql) wiec może w bazie zapisać cześć poświadczeń.

Czy one muszą być osobno? Nie może to być jedna aplikacja z kompletną logiką?


wloochacz napisał(a):

Nie wiem jak w FPC, ale w Delphi każda DLLma własną kopię RTL'a - a to kolejne problemy.

Nie ma cudów, dokładnie to samo jest – kopia RTL waży te kilkaset kilobajtów.

Nieważne ile masz tych formularzy, ale na Twoim miejscu wszytko bym zrobił w jednym exe.

Dokładnie. Jeśli nie potrzeba to nie ma powodu by komplikować całość.

PS: chyba Ci słownik robi psikusy. :P


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 1x, ostatnio: flowCRANE
WL
Czepiasz się, jedna drobna literówka i brak jednej spacji... Zważywszy na to, że piszę 3 rzeczy na raz nie i wyspałem się to i tak nieźle :P
flowCRANE
Nie o literówki mi chodzi, a o dwa słowa, które wyglądają podobnie, ale znaczą zupełnie coś innego – „komplikowane BPL-e” i „dynastyczne ładowanie danych”. Całkiem śmiesznie wyszło. :D
WL
Dynastyczne? No tak, autokorekta proszę Pana :) A na kompilacja zawsze mówię komplikacja, bo sobie coś piszę iw wygląda dobrze, komplikuję odpalam i są... komplikacje :P
PD
~20 MB, reszta to informacje debugera
WL
  • Rejestracja:ponad 21 lat
  • Ostatnio:28 dni
  • Postów:1083
0
furious programming napisał(a):

PS: chyba Ci słownik robi psikusy. :P

Poprawiłbym nawet, gdyby mnie tak okrutnie nie wku...ał patent ze zmianą wysokości memo do edycji postu. Kto to w ogóle wymyślił, żeby zawsze ustalić odgórnie wysokość memo na jakąś wartość po utracie focusa lub edycji? Na cholerę mogę zmienić tę wysokość jak za chwilę to wraca do pierwotnych rozmiarów? Matko, jak mnie to... ;-)

O tak to wygląda:
df4PMemo.gif

flowCRANE
@Adam Boduch: wołam, bo jest bubelek do poprawy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.