Wykorzytsanie dll przez kilka programów

0

Załóżmy ze mamy 3 programy 1.exe, 2.exe i 3.exe. Każdy z tych programów wymaga do prawidłowego funkcjonowania dostępu do listview z setkami tysięcy danych... Wczytywanie tych danych w jednej aplikacji do listviewa zajmuje około 4 minut a mamy 3 aplikacje co daje nam wczytywanie tych samych danych 12 minut ;/

Do tego podstawowa wadą tego systemu jest to że przy zmianie danych w jednej aplikacji 2 pozstale maja starsze wyniki, i nie chodzi juz tu o przeładowanie tych aplikacji... Jakakolwiek operacja wymaga przeładowania tych baz w późniejszym terminie...

Chciałby stworzyć biblioteke dll którą wykorzystywałyby te 3 aplikacje, wtedy dane ładowały by sie do biblioteki dll , a wszelkie operacje odczyt czy zapis do tego listvieva odbywałby się w kierunku poprzez dll.

Tylko pojawia sie następujący problem podpinając dll do 3 aplikacji znowu baza ładuje sie 3 razy, bo dll jest uruchomiona tak jakby w 3 rożnych procesach co daje nam ten sam wynik...

Teraz mam pytanko czy istnieje możliwość stworzenia czy podpięcia dll w taki sposób by dane do niej były wyczytane raz a przy podpinaniu do 2 kolejnych aplikacji, baza była juz wczytana to tak jakby zmienna globalna (listview) dla 3 procesów dll wywołanych przez te 3 aplikacje..

Nie mam pojęcia jak sie za to zabrać ;/ pomocy ?? czy takie coś jest w ogóle możliwe

Obrazu mówię że następującej propozycje odpadają:

  1. Oparcie o mysql naprawde nie ma o czym rozmawiać bo tego nie chce
  2. Oparcie bazy listview o aplikacje Serverowa (klient server) odpada
  3. Upadte danych, odpada...

A wracając do tego rozwiązania z dll w którym proszę Was o pomoc... zwiększy to szybkość odpalania aplikacji i całego oprogramowania gdyż często są wymagane restarty serwera.. Czy szanowni słuchacze mają jakieś propozycje rozwiązania tego problemu??

Bardzo dziękuje za wypowiedzi na temat;)

0

Wykorzystaj serwis systemowy, on będzie ladowal dane i udostępnial je pozostalym programom.
Pozdro hej

0

załaduj dane w pierwszym z programów i udostępnij je pozostałym poprzez np. pamięć dzieloną. dll Ci nic nie pomoże, bo dane wewnątrz mają oddzielną przestrzeń adresową dla każdego procesu używającego biblioteki. tak na prawdę czy robisz to przez dll, czy wewnątrz exe, i tak będziesz musiał użyć tych samych technik.
obczaj sobie tematykę synchronizacji procesów, szczególnie pamięć współdzieloną (shared memory) i muteksy/eventy/semafory.

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