Autor Wątek: zestawienia COM  (Przeczytany 33478 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline night

  • Użytkownik
  • **
  • Wiadomości: 57
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: zestawienia COM
« Odpowiedź #30 dnia: Czerwiec 09, 2017, 14:05:43 »
Z góry przepraszam za wykopanie starego tematu, ale czy ktoś z Was mógłby podpowiedzieć, jak w tworzonym zestawieniu COM wykorzystać przestrzeń oferowaną przez okno Subiekta, zamiast tworzyć nową formę?

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: zestawienia COM
« Odpowiedź #31 dnia: Czerwiec 09, 2017, 16:26:14 »
Nijak.
Jeśli używasz Sfery to możesz wywołać pewne okna, ale bezpośrednio do interfejsu GT nie masz dostępu.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17056
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: zestawienia COM
« Odpowiedź #32 dnia: Czerwiec 09, 2017, 17:07:02 »
Nie wiem o co dokładnie pytasz, więc odpowiem na pytanie jak je zrozumiałem... Niestety nie da się uruchomić zestawienia COM w głównym oknie Subiekta/ w kolejnej zakładce, takie możliwości są dopiero w Navireo.
Daniel, Białystok.

Offline night

  • Użytkownik
  • **
  • Wiadomości: 57
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: zestawienia COM
« Odpowiedź #33 dnia: Czerwiec 12, 2017, 15:36:14 »
Rozumiem, dziękuję bardzo. W miarę możliwości poprosiłbym jeszcze o wyjaśnienie w kwestii dostępu do bazy danych ( C# ).
Czy ktoś mógłby się podzielić działającym przykładem? Czy w chwili obecnej również powinno się korzystać z Connection aby utworzyć połączenie ADO.NET, czy też można wykorzytać do tego celu obiekt PolaczenieAdoNet?
« Ostatnia zmiana: Czerwiec 12, 2017, 15:41:48 wysłana przez night »

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: zestawienia COM
« Odpowiedź #34 dnia: Czerwiec 12, 2017, 15:42:56 »
Można wykorzystać obiekt PolaczenieAdoNet
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline night

  • Użytkownik
  • **
  • Wiadomości: 57
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: zestawienia COM
« Odpowiedź #35 dnia: Czerwiec 12, 2017, 16:13:02 »
Spróbuję precyzyjniej, poniższy kod działa, jakkolwiek muszę mieć using ADODB

Connection sqlConn = (Connection)pZestawienieComDane.Connection;
string str = sqlConn.ConnectionString.ToLower();


Dążę do postaci:

SqlConnection sqlConn = (SqlConnection)pZestawienieComDane.PolaczenieAdoNet;
string str = sqlConn.ConnectionString.ToLower();

.. tak by uniknąć (zbędnego?) usinga. Póki co, nie działa. Czy to dobry kierunek?
« Ostatnia zmiana: Czerwiec 12, 2017, 16:14:46 wysłana przez night »

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: zestawienia COM
« Odpowiedź #36 dnia: Czerwiec 12, 2017, 16:21:50 »
Kierunek dobry, ale co znaczy "nie działa"?
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline night

  • Użytkownik
  • **
  • Wiadomości: 57
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: zestawienia COM
« Odpowiedź #37 dnia: Czerwiec 12, 2017, 16:34:51 »
Już wyjaśniam, otóż ten kod:
public void Wykonaj(IZestawienieComDane pZestawienieComDane)
        {
            Connection sqlConn = (Connection)pZestawienieComDane.Connection;
            string str = sqlConn.ConnectionString.ToLower();
            Form1 form1 = new Form1();
            form1.Text = str;
            form1.Show();
        }

Powoduje otwarcie okna, z tytułem okna o treśći stringa str (działa). Gdy zamienię linijkę z Conenction (..) na:
SqlConnection sqlConn = (SqlConnection)pZestawienieComDane.PolaczenieAdoNet;
okno nie pokazuje się (nie działa).

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: zestawienia COM
« Odpowiedź #38 dnia: Czerwiec 12, 2017, 16:46:55 »
Nie wiem dlaczego tak jest, ale na początek zrobiłbym 2 rzeczy
1. zamiast wyświetlania connectionstinga sprawdziłbym stan połączenia. Wtedy będzie wiadomo coś więcej.
2. miałem przypadki że połączenie nie było tworzone, bo tak. Pomagała zmiana parametrów startowych Subiekta.
Zamiast <nazwa_komputera>\<instancja> spróbuj <ip_komputera>\<instancja>
Jeśli nie pomoże to dodaj jeszcze port (<ip_komputera>\<instancja>,<port>)

Ostatnio walczyłem z takim przypadkiem, kiedy jeden z moich dodatków u jednego klienta nie chciał utworzyć połączenia, dopóki nie dodałem portu.
Tylko u tego jednego klienta.
Nie wiem dlaczego.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Aldo

  • Ekspert
  • *****
  • Wiadomości: 10695
  • Reputacja +433/-13
  • Wersja programu: najnowsza
Odp: zestawienia COM
« Odpowiedź #39 dnia: Czerwiec 12, 2017, 16:58:51 »
Zdarzają się takie przypadki nawet w sieci wewnętrznej, ze bez podania portu nie ma połączenia. Nie udało mi się znaleźć przyczyny.


Offline night

  • Użytkownik
  • **
  • Wiadomości: 57
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: zestawienia COM
« Odpowiedź #40 dnia: Czerwiec 12, 2017, 21:12:04 »
Dziękuję zgromadzonym za cierpliwość. Dla potomnych: obecnie najbardziej kompatybilnym rozwiązaniem jest 'poszatkować' uzyskany ciąg połączenia ADO, wyciągając potrzebne parametry (w C# funkcje Substring i IndexOf).

Ostatnia kwestia: gdyby przyszło mi do głowy, aby używać Sfery w zestawawieniu COM, skąd pobrać hasło zalogowanego użytkownika (OperatorHaslo)?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17056
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: zestawienia COM
« Odpowiedź #41 dnia: Czerwiec 12, 2017, 21:31:16 »
Ostatnia kwestia: gdyby przyszło mi do głowy, aby używać Sfery w zestawawieniu COM, skąd pobrać hasło zalogowanego użytkownika (OperatorHaslo)?

No z bazy danych programu, z tabeli z użytkownikami "pd_Uzytkownik", z kolumny "uz_Haslo"...
Daniel, Białystok.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: zestawienia COM
« Odpowiedź #42 dnia: Czerwiec 12, 2017, 21:58:35 »


Dla potomnych: obecnie najbardziej kompatybilnym rozwiązaniem jest 'poszatkować' uzyskany ciąg połączenia ADO, wyciągając potrzebne parametry (w C# funkcje Substring i IndexOf).
Guzik prawda.
Dodatek, o którym pisałem, miał pierwotnie takie właśnie rozwiązanie, z tworzeniem własnego connectionstringa i zachowywał się dokładnie tak samo jak sferyczne połączenie. Dorobiłem nawet drugą metodę (jeśli nie zadziała jedna, spróbuj drugiej) i efekt identyczny, czyli lipa.
Żeby było weselej to serwer był ustawiony na porcie 1433, to samo było ustawione w cliconfg i dopóki nie podałem portu wprost ni cholery.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline night

  • Użytkownik
  • **
  • Wiadomości: 57
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: zestawienia COM
« Odpowiedź #43 dnia: Czerwiec 13, 2017, 12:42:47 »


Dla potomnych: obecnie najbardziej kompatybilnym rozwiązaniem jest 'poszatkować' uzyskany ciąg połączenia ADO, wyciągając potrzebne parametry (w C# funkcje Substring i IndexOf).
Guzik prawda.
Dodatek, o którym pisałem, miał pierwotnie takie właśnie rozwiązanie, z tworzeniem własnego connectionstringa i zachowywał się dokładnie tak samo jak sferyczne połączenie. Dorobiłem nawet drugą metodę (jeśli nie zadziała jedna, spróbuj drugiej) i efekt identyczny, czyli lipa.
Żeby było weselej to serwer był ustawiony na porcie 1433, to samo było ustawione w cliconfg i dopóki nie podałem portu wprost ni cholery.

Nie jestem jeszcze tak biełgy w te klocki, stwierdzam tylko 'czy działa' lub 'czy nie'.
Co by nie było byłbym wdzięczny gdybyś mógł się podzielić zawartością swojego connection stringa za pomocą obiektu PolaczenieAdoNet, jeśli się czymś różni.

Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: zestawienia COM
« Odpowiedź #44 dnia: Czerwiec 13, 2017, 13:57:49 »


Dla potomnych: obecnie najbardziej kompatybilnym rozwiązaniem jest 'poszatkować' uzyskany ciąg połączenia ADO, wyciągając potrzebne parametry (w C# funkcje Substring i IndexOf).
Guzik prawda.
Dodatek, o którym pisałem, miał pierwotnie takie właśnie rozwiązanie, z tworzeniem własnego connectionstringa i zachowywał się dokładnie tak samo jak sferyczne połączenie. Dorobiłem nawet drugą metodę (jeśli nie zadziała jedna, spróbuj drugiej) i efekt identyczny, czyli lipa.
Żeby było weselej to serwer był ustawiony na porcie 1433, to samo było ustawione w cliconfg i dopóki nie podałem portu wprost ni cholery.

Nie jestem jeszcze tak biełgy w te klocki, stwierdzam tylko 'czy działa' lub 'czy nie'.
Co by nie było byłbym wdzięczny gdybyś mógł się podzielić zawartością swojego connection stringa za pomocą obiektu PolaczenieAdoNet, jeśli się czymś różni.
Niczym się nie różni, jak działa to oboma metodami, jak nie działa to żadną.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Forum Użytkownikow Subiekt GT

Odp: zestawienia COM
« Odpowiedź #44 dnia: Czerwiec 13, 2017, 13:57:49 »