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

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

Offline ural

  • Nowy użytkownik
  • *
  • Wiadomości: 43
  • Reputacja +1/-0
zestawienia COM
« dnia: Lipiec 20, 2010, 20:48:33 »
czy mógłby mi ktoś dać linki albo jakieś pliczki z tutorialami dotyczącymi zestawień COM  ;D

Offline sztywniak

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1115
  • Reputacja +161/-12
  • Wersja programu: Subiekt GT 1.25 , Rewizor 1.25
Odp: zestawienia COM
« Odpowiedź #1 dnia: Lipiec 20, 2010, 22:42:23 »
czy mógłby mi ktoś dać linki albo jakieś pliczki z tutorialami dotyczącymi zestawień COM  ;D

w jakim jezyku chcesz pisać ???

Sztywniak

Offline ural

  • Nowy użytkownik
  • *
  • Wiadomości: 43
  • Reputacja +1/-0
Odp: zestawienia COM
« Odpowiedź #2 dnia: Lipiec 21, 2010, 10:28:46 »
a w jakim można pisać? c++, java?  Pytam o te zestawienia COM, bo zestawienia SQL mają jeden mankament - nie można wyszukiwać rekordów po frazach. :-X

p.s. myślałem że zestawienia COM to coś takiego jak zestawienia SQL, tylko że inna składnia  :D

Offline sztywniak

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1115
  • Reputacja +161/-12
  • Wersja programu: Subiekt GT 1.25 , Rewizor 1.25
Odp: zestawienia COM
« Odpowiedź #3 dnia: Lipiec 21, 2010, 12:19:48 »

co masz na myśli pisząc  "nie można wyszukiwać rekordów po frazach" ?

Sztywniak

Offline ural

  • Nowy użytkownik
  • *
  • Wiadomości: 43
  • Reputacja +1/-0
Odp: zestawienia COM
« Odpowiedź #4 dnia: Lipiec 21, 2010, 15:34:30 »
Gdy wynik zapytania SQL jest dość obszerny to aby przyśpieszyć wyszukanie chciałbym skorzystać z czegoś takiego jak F7 albo F8, a tego nie da się zrobić.  :'(    zapytania COM to umożliwiają?

Offline sztywniak

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1115
  • Reputacja +161/-12
  • Wersja programu: Subiekt GT 1.25 , Rewizor 1.25
Odp: zestawienia COM
« Odpowiedź #5 dnia: Lipiec 21, 2010, 21:57:09 »
Zestawienia COM - nazwa jest trochę nieszczęsna bo bardziej adekwatna powinna być dodatki/moduły/rozszerzenia COM.
Najczęściej używamy do jakiś większych operacji na bazie których nie da się wykonać z poziomu zestawień SQL a nie chcemy zmuszać kogoś do instalacji management studio. Do wyświetlania wyników raczej się to nie nadaje bo musiałbyś zbudować swój interfejs.
Jedyną różnicą między zewnętrznym programem a rozszerzeniem COM jest to że w zewnętrznym programie musisz spytać użytkownika o logowanie do bazy, magazyn itd.. a w rozszerzeniu COM masz udostępniony kontekst który dostarcza Ci informacji o dostępie do bazy, aktualnym magazynie, użytkowniku, wybranym okresie itd..

Wracając do Twojego problemu to można go rozwiązać na 2 sposoby :
1. w zestawieniach SQL działa CTRL + F czyli masz F7
2. możesz dodać parametr w zestawieniu który będzie działał jak F8

« Ostatnia zmiana: Sierpień 16, 2011, 01:15:53 wysłana przez sztywniak »
Sztywniak

Offline ural

  • Nowy użytkownik
  • *
  • Wiadomości: 43
  • Reputacja +1/-0
Odp: zestawienia COM
« Odpowiedź #6 dnia: Lipiec 22, 2010, 17:13:30 »
dzięki:) ale ja chciałbym się troszkę nauczyć tych zestawień COM ;D jak możesz to zamieść kilka przykładów :P

Offline NemoSoftware

  • Nowy użytkownik
  • *
  • Wiadomości: 12
  • Reputacja +0/-0
  • Wersja programu: GT/Nexo/Navireo
Odp: zestawienia COM
« Odpowiedź #7 dnia: Lipiec 23, 2010, 00:17:43 »
dzięki:) ale ja chciałbym się troszkę nauczyć tych zestawień COM ;D jak możesz to zamieść kilka przykładów :P

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ZestManLib;
using System.Windows.Forms;

namespace test_com1
{
    public class TestCOM1 : IZestawienieWlasne
    {
        public string Nazwa
        {
            get { return "Nazwa mojego zestawienia"; }
        }
        public string Opis
        {
            get { return "Opis mojego pierwszego zestawienia"; }
        }
        public int Programy
        {
            get { return 1; }
        }
        public void Wykonaj(IZestawienieComDane pZestawienieComDane)
        {
            Form1 form1 = new Form1();
            form1.Show();
        }
    }
}

Offline alwik

  • Nowy użytkownik
  • *
  • Wiadomości: 1
  • Reputacja +1/-0
Odp: zestawienia COM
« Odpowiedź #8 dnia: Lipiec 27, 2010, 20:05:13 »
Kiedyś napisałem coś takiego, może się przyda:

Krótki kurs pisania zestawień COM w .NET 2.0

Subiekt GT (również Rachmistrz, Rewizor i Gratyfikant) umożliwiają pisanie zestawień COM. Można je również napisać w .NET i z doświadczenia wynika, że bezproblemowo komunikują się one z resztą systemu, a dzięki łatwemu oprogramowywaniu interface-u, jak i operacji bazodanowych pozwalają dodać funkcjonalność, której nie ma w danym programie.

Przypatrzmy się jak można je pisać w Visual Studio C# Express Edition - które jest całkowicie bezpłatnym środowiskiem developerskim!!!

Aby utworzyć takie zestawienie .NET - GT.COM należy utworzyć projekt typy Class Library. Następnie wybieramy z menu Project opcję Właściwości utworzonego projektu i na zakładce Application wybieramy Assembly information. Na samym dole zaznaczamy opcję make assembly COM visible, dzięki czemu nasz moduł .NET będzie poprawnie współpracował z technologią COM obecną w GT.

Następnie sięgamy do dokumentacji zestawień COM udostępnianej przez firmę Insert i dowiadujemy się jakie interface-y musi implementować nasz moduł i jak może komunikować się z systemem GT.

W uproszczeniu wygląda to następująco:

   1. Do references modułu należy dodać:
         1. ADODB
         2. ZestManLib
   2. Zmieniamy nazwę klasy class1 wygenerowanej przez VS i dodajemy implementacje interfaceu IZestawienieWlasne do tej klasy

Po tej operacji będzie ona wyglądała np. tak:

    [ClassInterface(ClassInterfaceType.AutoDual)]
    public class MojModul : IZestawienieWlasne
    {
    }

Aby zaimplementować ten interface w naszej klasie, musimy zaimplementować następujące metody:

    Nazwa
    Opis
    Programy
    Wykonaj

Np. w taki sposób:

    public string Nazwa
    {
    get { return "Mój pierwszy moduł";}
    }

    public string Opis
    {
    get { return "To jest pierwszy testowy moduł";}
    }

    public string Program
    {
    get { return 1;}
    }

    public void Wykonaj(ZestManLib.IZestawienieComDane pZestawienieComDane)
    {

    }

Teraz pozostaje implementacja metody wykonaj - czyli rzeczywiście tego co nasz moduł ma robić. Najprościej stworzyć formę i wywołać metode ShowDialog(). To co znajduje będzie ona robić pozostawiam już inwencji czytelnika, ale właściwie może robić wszystko...

Jeszcze tylko jedna uwaga na temat bazy danych - GT komunikuje się z bazą poprzez ADO, natomiast dla wszystkich komponentów WinForms .NET 2.0 obowiązuje komunikacja poprzez ADO.NET. ADO i ADO.NET różnią się znacznie i chociaż można tworzyć jakieś obejścia pojawią się pytanie po co? Lepiej na podstawie połączenia z bazą danych, które dostarcza GT utworzyć drugie połączenie już przy pomocy ADO.NET, które będzie służyło do całej komunikacji z bazą danych. ADO pozwala odczytać connection string, a na jego podstawie można utworzyć connection string go ADO.NET. Powodzenia!!!

Alwik

Offline ural

  • Nowy użytkownik
  • *
  • Wiadomości: 43
  • Reputacja +1/-0
Odp: zestawienia COM
« Odpowiedź #9 dnia: Wrzesień 30, 2010, 14:01:15 »
dzięki za info  :)

Offline Piotr S.

  • Nowy użytkownik
  • *
  • Wiadomości: 14
  • Reputacja +1/-1
  • Wersja programu: 1.42 HF1
Odp: zestawienia COM
« Odpowiedź #10 dnia: Styczeń 29, 2011, 14:28:13 »
Przepraszam, że odświeżam temat, ale gdzie można znaleźć dokumentację insertu dot. zestawię COM?
Widzę, że chyba niektóre moduły już się pozmieniały (nigdzie nie mogę odnaleźć ZestManLib).
Będę niezmiernie wdzięczny za udostępnienie większej ilości dokumentów/przykładów.

Offline michalkow

  • Nowy użytkownik
  • *
  • Wiadomości: 3
  • Reputacja +0/-0
  • Wersja programu: 1.26
Odp: zestawienia COM
« Odpowiedź #11 dnia: Sierpień 11, 2011, 18:37:49 »
Nie chcąc otwierać nowego wątku na ten sam temat podbijam pytanie poprzednika sprzed paru miesięcy.
Czy jest udostępniona gdzieś (może na forum) dokumentacja dotycząca zestawień COM dla inserta? Jeśli nie to może któryś z użytkowników jest w jej posiadaniu i mógłby się podzielić?

Offline Taner

  • Aktywny użytkownik
  • ***
  • Wiadomości: 151
  • Reputacja +9/-0
  • Wersja programu: Subiekt GT 1.39, Niebieski i Zielony Plus
Odp: zestawienia COM
« Odpowiedź #12 dnia: Wrzesień 13, 2011, 12:42:18 »
Mam pytanko do mądrzejszych czy zabierając się za zestawienie com które będzie odpalane z wnętrza Subiekta można w jakiś sposób przechwycić dane ze sfery chodzi mi o dane połączeniowe ?

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9210
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: zestawienia COM
« Odpowiedź #13 dnia: Wrzesień 13, 2011, 12:50:33 »
Obiekt Baza, atrybut Polaczenie
Sławek, Zduńska Wola

Offline Taner

  • Aktywny użytkownik
  • ***
  • Wiadomości: 151
  • Reputacja +9/-0
  • Wersja programu: Subiekt GT 1.39, Niebieski i Zielony Plus
Odp: zestawienia COM
« Odpowiedź #14 dnia: Wrzesień 13, 2011, 12:58:50 »
Oki tylko nie bardzo wiem jak to przechwycić skąd to wyciągnąć.

W zestawieniach odpalam moje zestawienie które uruchamia Formę i teraz z jej pozycji chciałbym się dostać do danych Subiekta i tego za bardzo nie wiem jak zrobic. Wiem jak to wygląda gdy wywołuje połączenie z odrębnej aplikacji ale totalnie nie wiem jak przechwycić to z Subiekta.

Forum Użytkownikow Subiekt GT

Odp: zestawienia COM
« Odpowiedź #14 dnia: Wrzesień 13, 2011, 12:58:50 »