Problem z 2 programami

0

Witam
Ostatnio napotkałem pewien problem, w swoich aplikacjach w C#. Mam 2 programy (osobne projekty i rozwiązania, napisane w #develop), które normalnie działają bez zarzutów. Problem pojawia się dopiero wtedy, kiedy próbuję te dwa programy uruchomić jednocześnie, z jednego źródła. Wtedy jedno z okien (to, które później się uruchomiło), zgłasza błąd (Program ... Wygenerował błędy..., standartowe okienko, jak po zawieszeniu IE), a to, które pierwsze się uruchomiło, działa poprawnie. Sprawdzałem, że kiedy uruchomię je np. z poziomuTC, to oba działają poprawnie. Próbowałem różnych preloaderów np. w Delphi, które by uruchamiały najpierw jeden, a potem drugi program. Nic z tego. Ciągle błędy.
Zależy mi przede wszystkim na tym, że oba programy mają się uruchamiać przy starcie systemu. Wtedy też występują błędy.

0

Co to znaczy 'z jednego zrodla'?

Moze korzystaja z tym samych zasobow (np. plik) i jeden je zajmuje, a drugi juz nie moze...

Napisz cos wiecej o tych programach.

pozdrawiam
johny

0

Coś więcej? Proszę. Jeden z nich ma pełnić rolę czegoś w rodzaju zegara. Forma ma wartość border ustawioną na none. Na formie znajduje się 6 komponentów panel, jeden label i jeden timer.
Timer tyka co 1 sek, zmieniając wartości BackImage, w zależności od godziny. Jedynymi plikami zewnętrznymi, które są wymagane, oprócz bibliotek Windows Forms, są pliki 0.bmp - 9.bmp, które odpowiadają poszczególnym cyfrom. I to właśnie biblioteki Windows Forms są jedynym wspólnym zbiorem, używanym przez obie aplikacje. Przypomniałem sobie jeszcze, że obu aplikacjom dodałem klasę Trace i oba są śledzone, ale i tak ta, która uruchomi się później siada po initialize Component

0

Ponowie pytanie kolegi:

"Co to znaczy 'z jednego zrodla'?"

Najlepiej wrzuc jakis kod na forum. Bedzie latwiej.

0

Moje 'z jednego źródła' oznacza:

  • Uruchamianie autostartem ( o to głównie mi chodzi )
  • Uruchamianie zewnętrznym programem, np. Napisanym w Delphi (nawet, jeżeli najpierw włączymy jeden pre-loader, który załaduje pierwszy moduł C#, a potem uruchomi drugi pre-loader, który załaduje drugi moduł C#)

Więcej błędów nie znalazłem. Próbowałem jede nawet przenieść do c++, ale mam problemy, z pobieraniem danych od zegara systemowego (w c# to tylko DateTime.Now.Hour)

0

Ja bym stawial na to, ze obydwa programy staraja sie dopchac do tego samego pliku zeby zapisac wyniki swojego "Trace".
Program nr 1 otwiera plik i zapisuje, po czym do akcji wkracza program nr 2 i chce wywazyc otwarte drzwi..... no i sie wysypuje.

Rozwaz ten scenariusz.

0

Rozważam, rozważam, chociaż teraz wydaje mi się to bliższe prawdy. Normalnie trace się nie sypie, bo te programy są uruchamiane z osobnych ścieżek... a kiedy uruchamiamy je z zewnętrznego źródła, jak choćby autostart, katalogiem bazowym jest ten, z którego system uruchamia dany program. Plik trace.txt nie jest więc tworzony w katalogu programu, tylko w katalogu bazowym, z którego system go uruchomił. Drugi napotyka ten sam problem, a plik jest zablokowany :-D ! Dzięki za całą pomoc!!! :-) :-) :-) [soczek]

0

popraw temat

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