Thread View: pl.comp.lang.delphi
8 messages
8 total messages
Started by konsul41
Wed, 09 May 2018 13:10
Baza Regon
Author: konsul41
Date: Wed, 09 May 2018 13:10
Date: Wed, 09 May 2018 13:10
56 lines
2549 bytes
2549 bytes
Czego używacie do pobierania danych z REGONU w Windows10
ICS ma problemy z DNS
A indy z ssl (długość klucza)
function SendData(SessionID: string; Akcja: string; Dane: string; URL:
string = URL_service): string;
var
Cli: TIdHttp;
SSLContext: TIdSSLIOHandlerSocketOpenSSL;
strm: tstringlist;
Bytes: TBytes;
i, j: Integer;
begin
Cli := TIdHTTP.Create(nil);
SSLContext := TIdSSLIOHandlerSocketOpenSSL.Create(Cli);
SSLContext.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv23,
sslvSSLv3, sslvTLSv1];
Cli.IOHandler := SSLContext;
try
result := '';
Cli.Request.Clear;
...
Cli.Request.Method := 'POST';
if SessionID <> '' then
Cli.Request.CustomHeaders.Add('Sid: ' + SessionID);
strm := TStringList.Create;
try
try
strm.text := Dane;
except
on E: Exception do
ShowMessage('SendData -> strm.text' + #13 + 'DANE ' + #13 +
Dane + #13 + E.Message);
end;
Cli.Response.CharSet := 'UTF-8';
try
result := Cli.Post(URL, strm);
except
on E: Exception do
ShowMessage('SendData Post Error' + #13 + E.Message);
end;
finally
strm.free;
end;
finally
Cli.IOHandler := nil;
Cli.Request.Clear;
FreeAndNil(Cli);
FreeAndNil(SSLContext);
end;
end;
Non stop mam Accesviolation w libeay32.dll
przy wołaniu result := Cli.Post(URL, strm);
Re: Baza Regon
Author: Jan Drawski
Date: Wed, 09 May 2018 23:05
Date: Wed, 09 May 2018 23:05
11 lines
1226 bytes
1226 bytes
W dniu 2018-05-09 o 15:10, konsul41@wp.pl pisze: > Czego używacie do pobierania danych z REGONU w Windows10 > > ICS ma problemy z DNS To obsłuż DNS po za ICS. Wstaw IP zamiast domeny i do nagłówka wstaw hosta (domenę). -- Pozdrawiam Janek
Re: Baza Regon
Author: Tomek D
Date: Thu, 10 May 2018 06:29
Date: Thu, 10 May 2018 06:29
10 lines
1133 bytes
1133 bytes
W dniu 09.05.2018 o 15:10, konsul41@wp.pl pisze: > Czego używacie do pobierania danych z REGONU w Windows10 > > ICS ma problemy z DNS A indy z ssl (długość klucza) > XE6 THTTPRIO - w tej wersji, o ile pamiętam, korzysta z bibliotek systemowych i nie wymaga OpenSSL. Tomek D.
Re: Baza Regon
Author: kameleonsql
Date: Thu, 10 May 2018 09:00
Date: Thu, 10 May 2018 09:00
64 lines
3168 bytes
3168 bytes
W dniu środa, 9 maja 2018 15:10:45 UTC+2 użytkownik kons...@wp.pl napisał:
> Czego używacie do pobierania danych z REGONU w Windows10
>
> ICS ma problemy z DNS
> A indy z ssl (długość klucza)
>
> function SendData(SessionID: string; Akcja: string; Dane: string; URL:
> string = URL_service): string;
> var
> Cli: TIdHttp;
> SSLContext: TIdSSLIOHandlerSocketOpenSSL;
> strm: tstringlist;
> Bytes: TBytes;
> i, j: Integer;
> begin
> Cli := TIdHTTP.Create(nil);
> SSLContext := TIdSSLIOHandlerSocketOpenSSL.Create(Cli);
> SSLContext.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv23,
> sslvSSLv3, sslvTLSv1];
> Cli.IOHandler := SSLContext;
> try
> result := '';
> Cli.Request.Clear;
> ...
> Cli.Request.Method := 'POST';
> if SessionID <> '' then
> Cli.Request.CustomHeaders.Add('Sid: ' + SessionID);
> strm := TStringList.Create;
> try
> try
> strm.text := Dane;
> except
> on E: Exception do
> ShowMessage('SendData -> strm.text' + #13 + 'DANE ' + #13 +
> Dane + #13 + E.Message);
> end;
> Cli.Response.CharSet := 'UTF-8';
> try
> result := Cli.Post(URL, strm);
> except
> on E: Exception do
> ShowMessage('SendData Post Error' + #13 + E.Message);
> end;
> finally
> strm.free;
> end;
> finally
> Cli.IOHandler := nil;
> Cli.Request.Clear;
> FreeAndNil(Cli);
> FreeAndNil(SSLContext);
> end;
> end;
>
>
> Non stop mam Accesviolation w libeay32.dll
> przy wołaniu result := Cli.Post(URL, strm);
Serwus,
Kup wreszcie SecureBlackbox'a, szkoda nerwów na "rzeźbienie" tego typu softu w "czystym" Delphi
Pozdrawiam
---
Roman
Re: Baza Regon
Author: konsul41
Date: Thu, 10 May 2018 09:28
Date: Thu, 10 May 2018 09:28
75 lines
2869 bytes
2869 bytes
W dniu 10-05-2018 o 08:29, Tomek D pisze:
> W dniu 09.05.2018 o 15:10, konsul41@wp.pl pisze:
>> Czego używacie do pobierania danych z REGONU w Windows10
>>
>> ICS ma problemy z DNS A indy z ssl (długość klucza)
>>
>
> XE6 THTTPRIO - w tej wersji, o ile pamiętam, korzysta z bibliotek
> systemowych i nie wymaga OpenSSL.
>
> Tomek D.
>
Próbuje na XE10.2
i rzeczywiście nie wymaga.
Ale mam inny problem
robię dll
z jedną funkcją
function SendData(SessionID, Akcja, Dane, URL: String): UTF8String; stdcall;
var
Cli: TIdHttp;
strm: tStringlist;
Bytes: TBytes;
i, j: Integer;
begin
Cli := TIdHTTP.Create();
try
result := '';
Cli.Request.Clear;
Cli.HTTPOptions := [];
Cli.Request.CharSet := 'UTF-8';
Cli.Request.ContentType := 'application/soap+xml';
Cli.Request.Method := 'POST';
if SessionID <> '' then
Cli.Request.CustomHeaders.Add('Sid: ' + SessionID);
strm := TStringList.Create;
try
strm.text := Dane;
Cli.Response.CharSet := 'UTF-8';
result := Cli.Post(URL, strm);
finally
strm.free;
end;
finally
Cli.Free;
end;
end;
Jest to funkcja odpowiedzialna za wysyłania żądań do serwera
I teraz jeżeli użyję tej funkcji w applikacji (ciało funkcji w
applikacji) to wszystko działa ok, jeżeli ciało tej funkcji znajduję się
w dll i jest zaimportowany do EXE w taki sposób
function SendData(SessionID, Akcja, Dane, URL: String): UTF8String;
stdcall; external 'NipyDLL.dll';
czyli statycznie to przy drugim i każdym następnym dostaję
AccesViolation w linii
Cli := TIdHTTP.Create();
Jeżeli dołożę
Cli.Request.Free;
Cli.Response.Free;
Cli.Free;
zamiast samego
Cli.Free;
To wiesza mi się na zwalnianiu obiektu Cli: TIdHttp;
Czy ktoś miał takie problemy?
Re: Baza Regon
Author: Piotr S.
Date: Thu, 10 May 2018 09:33
Date: Thu, 10 May 2018 09:33
11 lines
1226 bytes
1226 bytes
W dniu 2018-05-10 o 11:28, konsul41@wp.pl pisze: > > function SendData(SessionID, Akcja, Dane, URL: String): UTF8String; > stdcall; external 'NipyDLL.dll'; > > Użyj lepiej PChar zamiast stringa. Nie wiesz, że nie powinno się w procedurach wyeksportowanych w dll używać stringa? P.S.
Re: Baza Regon
Author: konsul41
Date: Thu, 10 May 2018 09:59
Date: Thu, 10 May 2018 09:59
14 lines
1455 bytes
1455 bytes
W dniu 10-05-2018 o 11:33, Piotr S. pisze: > W dniu 2018-05-10 o 11:28, konsul41@wp.pl pisze: >> >> function SendData(SessionID, Akcja, Dane, URL: String): UTF8String; >> stdcall; external 'NipyDLL.dll'; >> >> > > Użyj lepiej PChar zamiast stringa. Nie wiesz, że nie powinno się w > procedurach wyeksportowanych w dll używać stringa? > > P.S. > Dlaczego przecież można tylko trzeba użyć ShareMem
Re: Baza Regon
Author: konsul41
Date: Thu, 10 May 2018 10:34
Date: Thu, 10 May 2018 10:34
3 lines
1252 bytes
1252 bytes
> Dlaczego przecież można tylko trzeba użyć ShareMemDodatkowo Ja nie mam problemów z parametrami tylko z tworzeniem i zwalnianiem obiektu IDHTTP
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads