Lazarus - import biblioteki dll - Subiekt GT sfera

0

Witam

Czy w Lazarusie istnieje możliwość importu biblioteki dll (tak jak w Delphi : Project -> import type library)?

Chce napisać aplikację współpracującą z Subiektem GT (poprzez Sferę).

0

proste pytanie czy masz wersje subiekta na linuxa?

Subiekt GT to syf jakich mało jeżeli Ty zadecydowałeś o jego kupnie to zrezygnuj pÓÓÓÓki możesz... Inaczej przejdziesz przez męki jak ja :D

0

@proqix - oczywiście chodzi mi o Windowsa (nie napisałem tego w pierwszym poście). Co prawda Twój komentarz nie odnosi się do mojego problemu ale osobiście nie uważam aby Subiekt GT to był syf (nie podałeś żadnych argumentów więc o dyskusje trudno...).

Natomiast odnośnie Delphi 7 Personal - czy rzeczywiście jest to wersja darmowa również do zastosowań komercyjnych ?

"np wystarczy poprosić jest to TLB z Subiekt GT & Sfery w wersji 1.31" - przyznaję , że tego zdanie nie rozumiem w ogóle... czym jest "TLB" ? No i kogo o to poprosić ?

Dziękuję za zainteresowanie tematem.

1

Widzę że nie w temacie jesteś, ale dobra TLB - Type Library, to co Ci dałem to unity pas wygenerowane z biblioteki GTA.dll, tak nawiasem to TLB możesz wyciągnąć z exe, ocx lub dll. Subiekt jest do d**y:
1.Jego dokumentacja jest niedokładna, wybrakowana dowód znajdź sobie procedurkę

procedure DrukujDoPlikuWgWzorca(lWzorzec: Integer; const bstrPlik: WideString; 

w dokumentacji dla obiektu SuDokument. Dziwne w dokumentacji tego nie masz a w GTA.dll jest i jeszcze działa.
2.Kto tworzy 600 tabel i jak by tego mało to ładuje tam wszystko bez wyjątków... Np wzory faktur masz wrzucone do bazy (txt, xmle i pdfy). Nie wiem czy wiesz ale zanim użyjesz metody Zapisz dla SuDokument już on jest utworzony w bazie... porażka. Jak masz listę produktów to po co tam masz pole z ceną to bez sensu jak cena ci się zmienia codziennie... Ja pracuje nad automatyzacją i w fakturach, ceny dla tych samych produktów zmieniają się bo jeden klient kupił produkt z hurtowni A a drugi z B, a ceny zmieniają się niemal codziennie.
Jest jeszcze wiele innych uniedogodnień ale nie chce mi się ich opisywać.

"np wystarczy poprosić jest to TLB z Subiekt GT & Sfery w wersji 1.31" - przyznaję , że tego zdanie nie rozumiem w ogóle... czym jest "TLB" ? No i kogo o to poprosić ?

np - no problem, wystarczy poprosić coś w stylu "Czy ma ktoś może TLB (pliku GTA.DLL) dla Subiekta GT w wersji 1.31 i mógł mi go podrzucić?"
@kAzek masz racje od Personala jest lepszy, aczkolwiek ja korzystam z D7 Enterprise bo ma więcej komponentów zainstalowanych (Indy, sieciowych i bazodanowych) nie licząc szablonów. Co do problemów z kompatybilnością to się nie spotkałem z jakimkolwiek problemem, wszystko kompiluje się poprawnie i działa na XP, Vista jak i 7. Tylko trzeba sobie doinstalować helpa z XP ale jak masz system legalny to nie ma problemu. Ale i tak ma przewagę bo można kompilować na arm 32 i 64 bity co Delphi może dopiero od wersji XE3.

0

Pisząc że moim zdaniem Subiekt GT to nie syf miałem na myśli korzystanie z niego jako zwykły użytkownik w firmie - przygodę ze sferą dopiero zaczynam stad moje problemy i nie świadomość czy to syf czy nie syf ;).

Próbowałem wykorzystać unity które wstawiłeś lecz krzyczy mi, że nie może znaleźć unitu StdVCL używanego przez ADODB_TLB...

No i wracam do pytania o Delphi : Czy Delphi 7 Personal (bądź inna edycja) rzeczywiście jest to wersja darmowa również do zastosowań komercyjnych (jeżeli tak to jak ją zdobyć) ?

EDIT

Znalazłem w necie unit StdVCL, który zawierał tylko :

 unit StdVCL;

{ Stub unit }
interface
implementation


end.

Po dodaniu go, otwyrzmuje parenascie błędów typu

adodb_tlb.pas(xxxx,xxx) Error: Duplicate identifier "[...]"
0

My wiemy że tobie nic nie mówi to co dałeś na xxx i [...] ale tam są kluczowe informacje wiesz?
http://proqixproj.comze.com/StdVCL.pas
U mnie ten plik nie jest pusty.

0

licencja opisana tutaj:
http://www.embarcadero.com.pl/informacje/licencje_produktowe_pliki/Delphi_7_Personal_licencja_pl.pdf

czyli nie mozna jej przenosic to raz, dwa nie mozna stosowac komercyjnie.

0

Jeżeli pracujesz w firmie, i na twoim stanowisku masz zainstalowanego, to możesz napisać COŚ, ale nie możesz tego sprzedać, czy czerpać korzyści np premia za napisanie COŚ, nie możesz także napisać COŚ które by przeprowadzało operacje na których Ty lub Twoja firma by zarabiała, czyli zwykły import faktur z hurtowni do subiekta możesz zrobić. Jeżeli COŚ importuje produkty z hurtowni do np bazy danych sklepu i Twoja firma zarabia na nich to łamiesz prawa licencji. Za "COŚ" podstaw sobie słowa jakie chcesz kod, program dllka etc.

0

progix już się poprawiam....

adodb_tlb.pas(1205,26) Error: Duplicate identifier "ConnectionString"
adodb_tlb.pas(1205,26) Hint: Identifier already defined in adodb_tlb.pas at line 1195
adodb_tlb.pas(1319,26) Error: Duplicate identifier "ConnectionString"
adodb_tlb.pas(1319,26) Hint: Identifier already defined in adodb_tlb.pas at line 1309
adodb_tlb.pas(1448,56) Error: Duplicate identifier "Fields"
adodb_tlb.pas(1448,56) Hint: Identifier already defined in adodb_tlb.pas at line 1439
adodb_tlb.pas(1454,20) Error: Duplicate identifier "Source"
adodb_tlb.pas(1454,20) Hint: Identifier already defined in adodb_tlb.pas at line 1443
adodb_tlb.pas(1454,40) Error: Duplicate identifier "ActiveConnection"
adodb_tlb.pas(1454,40) Hint: Identifier already defined in adodb_tlb.pas at line 1433
adodb_tlb.pas(1454,70) Error: Duplicate identifier "CursorType"
adodb_tlb.pas(1454,70) Hint: Identifier already defined in adodb_tlb.pas at line 1437
adodb_tlb.pas(1455,20) Error: Duplicate identifier "LockType"
adodb_tlb.pas(1455,20) Hint: Identifier already defined in adodb_tlb.pas at line 1440
adodb_tlb.pas(1458,22) Error: Duplicate identifier "Fields"
adodb_tlb.pas(1458,22) Hint: Identifier already defined in adodb_tlb.pas at line 1439
adodb_tlb.pas(1568,20) Error: Duplicate identifier "LockType"
adodb_tlb.pas(1568,20) Hint: Identifier already defined in adodb_tlb.pas at line 1409
adodb_tlb.pas(1679,56) Error: Duplicate identifier "Fields"
adodb_tlb.pas(1679,56) Hint: Identifier already defined in adodb_tlb.pas at line 1670
adodb_tlb.pas(1685,20) Error: Duplicate identifier "Source"
adodb_tlb.pas(1685,20) Hint: Identifier already defined in adodb_tlb.pas at line 1674
adodb_tlb.pas(1685,40) Error: Duplicate identifier "ActiveConnection"
adodb_tlb.pas(1685,40) Hint: Identifier already defined in adodb_tlb.pas at line 1664
adodb_tlb.pas(1685,70) Error: Duplicate identifier "CursorType"
adodb_tlb.pas(1685,70) Hint: Identifier already defined in adodb_tlb.pas at line 1668
adodb_tlb.pas(1686,20) Error: Duplicate identifier "LockType"
adodb_tlb.pas(1686,20) Hint: Identifier already defined in adodb_tlb.pas at line 1671
adodb_tlb.pas(1689,22) Error: Duplicate identifier "Fields"
adodb_tlb.pas(1689,22) Hint: Identifier already defined in adodb_tlb.pas at line 1670
adodb_tlb.pas(1991,56) Error: Duplicate identifier "Fields"
adodb_tlb.pas(1991,56) Hint: Identifier already defined in adodb_tlb.pas at line 1982
adodb_tlb.pas(1997,20) Error: Duplicate identifier "Source"
adodb_tlb.pas(1997,20) Hint: Identifier already defined in adodb_tlb.pas at line 1986
adodb_tlb.pas(1997,40) Error: Duplicate identifier "ActiveConnection"
adodb_tlb.pas(1997,40) Hint: Identifier already defined in adodb_tlb.pas at line 1976
adodb_tlb.pas(1997,70) Error: Duplicate identifier "CursorType"
adodb_tlb.pas(1997,70) Hint: Identifier already defined in adodb_tlb.pas at line 1980
adodb_tlb.pas(1998,20) Error: Duplicate identifier "LockType"
adodb_tlb.pas(1998,20) Hint: Identifier already defined in adodb_tlb.pas at line 1983
adodb_tlb.pas(2001,22) Error: Duplicate identifier "Fields"
adodb_tlb.pas(2001,22) Hint: Identifier already defined in adodb_tlb.pas at line 1982
adodb_tlb.pas(2016,22) Error: Duplicate identifier "Index"
adodb_tlb.pas(2016,22) Hint: Identifier already defined in adodb_tlb.pas at line 1894
adodb_tlb.pas(2016,39) Error: Duplicate identifier "Index"
adodb_tlb.pas(2016,39) Hint: Identifier already defined in adodb_tlb.pas at line 1894
adodb_tlb.pas(2388,56) Error: Duplicate identifier "Fields"
adodb_tlb.pas(2388,56) Hint: Identifier already defined in adodb_tlb.pas at line 2379
adodb_tlb.pas(2394,20) Error: Duplicate identifier "Source"
adodb_tlb.pas(2394,20) Hint: Identifier already defined in adodb_tlb.pas at line 2383
adodb_tlb.pas(2394,40) Error: Duplicate identifier "ActiveConnection"
adodb_tlb.pas(2394,40) Hint: Identifier already defined in adodb_tlb.pas at line 2373
adodb_tlb.pas(2394,70) Error: Duplicate identifier "CursorType"
adodb_tlb.pas(2394,70) Hint: Identifier already defined in adodb_tlb.pas at line 2377
adodb_tlb.pas(2395,20) Error: Duplicate identifier "LockType"
adodb_tlb.pas(2395,20) Hint: Identifier already defined in adodb_tlb.pas at line 2380
adodb_tlb.pas(2398,22) Error: Duplicate identifier "Fields"
adodb_tlb.pas(2398,22) Hint: Identifier already defined in adodb_tlb.pas at line 2379
adodb_tlb.pas(2413,22) Error: Duplicate identifier "Index"
adodb_tlb.pas(2413,22) Hint: Identifier already defined in adodb_tlb.pas at line 2291
adodb_tlb.pas(2413,39) Error: Duplicate identifier "Index"
adodb_tlb.pas(2413,39) Hint: Identifier already defined in adodb_tlb.pas at line 2291
adodb_tlb.pas(3071,31) Error: Duplicate identifier "Source"
adodb_tlb.pas(3071,31) Hint: Identifier already defined in adodb_tlb.pas at line 3068
adodb_tlb.pas(3074,31) Error: Duplicate identifier "Source"
adodb_tlb.pas(3074,31) Hint: Identifier already defined in adodb_tlb.pas at line 3068
adodb_tlb.pas(3077,34) Error: Duplicate identifier "Source"
adodb_tlb.pas(3077,34) Hint: Identifier already defined in adodb_tlb.pas at line 3068
adodb_tlb.pas(3078,20) Error: Duplicate identifier "Source"
adodb_tlb.pas(3078,20) Hint: Identifier already defined in adodb_tlb.pas at line 3068
adodb_tlb.pas(3078,40) Error: Duplicate identifier "ActiveConnection"
adodb_tlb.pas(3078,40) Hint: Identifier already defined in adodb_tlb.pas at line 3066
adodb_tlb.pas(3078,70) Error: Duplicate identifier "Mode"
adodb_tlb.pas(3078,70) Hint: Identifier already defined in adodb_tlb.pas at line 3069
adodb_tlb.pas(3149,40) Error: Duplicate identifier "Mode"
adodb_tlb.pas(3149,40) Hint: Identifier already defined in adodb_tlb.pas at line 3146
adodb_tlb.pas(3339,1) Fatal: There were 38 errors compiling module, stopping
 

EDIT


Po wrzuceniu Twojej wersji unitu StdVCL dostaję:

 
stdvcl.pas(251,18) Error: Duplicate identifier "Item"
0

Lazarus jest a tyle porąbany, że nie czyta poprawnie oddzielnie definiowanych linków metod i metody property traktuje jako zmienne (takie jak deklarujesz w varach). I właśnie za to nienawidzę Pascala (kilka wersji w górę i już masz niezgodność danych). No nic popatrzę na to w robocie jak bd miał czas... Zawsze możesz pobawić się w C++ (napisać dll do obsługi COMów Subiekta) i podpiąć pod projekt w Lazarusie. Chyba sam tak zrobię :D

0
proqix napisał(a):

nie czyta poprawnie oddzielnie definiowanych linków metod

proqix napisał(a):

metody property traktuje jako zmienne

Jeżeli są to poważniejsze/w ogóle bugi, zgłoś je albo popraw sam - wszak Lazarus jest open-source ;)

0

Nie chodzi o to czy zrozumiem czy nie, bo kopiowanie po kawałku kodu z plików pas Delphi do Lazarus to męka do wieczności, a przekopiowanie tych plików nic nie daje bo i tak musisz poprawić bo delphi ma taki zapis

function OaBuildVersion;                external oleaut32 name 'OaBuildVersion';
function OaBuildVersion: Longint; stdcall;

i mu czyta to normalnie ale lazarus musi mieć mieć

function OaBuildVersion: Longint; stdcall; external oleaut32 name 'OaBuildVersion';

bo inaczej jest źle dla niego...

0

Dobra zrobiłem projekt w lazku nawet się kompiluje i uruchamia ale jak próbuje uruchomić subiekta to błąd wywala nie wiem czemu, gdzie i jak bo w D7Ent działa poprawnie, z tego co się orientuje to błąd korzystania z nie zainicjowanych danych ale nie mam pewności, cały projekt spakowany poniżej, może komuś uda się to poprawić i odpalić...
http://proqixproj.comze.com/SGT4Laz.rar
Dajcie znać, może coś przeoczyłem...

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.