Fórum Web Service erro Access Violation no cliente #483059
19/06/2014
0
DLL DO SERVIDOR
---------------------------
type
ArrayString = array of ShortString; <<<<<<------------------- JA TENTEI COM STRING, WIDESTRING, SHORTSTRING
...
IwsDataModule = interface(IAppServerSOAP)
['{C261E6DF-E6F6-43EF-B5EE-4267CA176890}']
function BuscaEndereco(const _cep, _caminho : String) : ArrayString; stdcall;
end;
TwsDataModule = class(TSoapDataModule, IwsDataModule, IAppServerSOAP, IAppServer)
private
function BuscaEndereco(const _cep, _caminho : String) : ArrayString; stdcall;
public
end;
implementation
{$R *.DFM}
procedure TwsDataModuleCreateInstance(out obj: TObject);
begin
obj := TwsDataModule.Create(nil);
end;
{ TwsDataModule }
function TwsDataModule.BuscaEndereco(const _cep, _caminho: String): ArrayString;
var
_End : ArrayString;
begin
if _cep = 'VIZINHO' then
begin
_End[0] := 'ZERO';
_End[1] := 'PRIMEIRO';
Result := _End;
end
else
begin
_End[0] := 'VAZIO';
Result := _End;
end;
end;
initialization
InvRegistry.RegisterInvokableClass(TwsDataModule, TwsDataModuleCreateInstance);
....
CODIGO DO CLIENTE
-------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
_end1 : ArrayString;
_cep : String;
begin
try
_cep := edCEP.Text;
_end1 := (httpRioCep as IwsDataModule).BuscaEndereco(_cep, '');
edEndereco0.Text := _end1[0];
edEndereco1.Text := _end1[1];
except
On E: Exception Do
ShowMessage(e.Message);
end;
end;
Ricardo Matarazzo
Curtir tópico
+ 0Posts
22/06/2014
Ricardo Matarazzo
grato
Gostei + 0
23/06/2014
Ricardo Matarazzo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)