AnSata

Rua José Sabóia Cortês, 238 :: Centro Cívico :: 80530-360 :: Curitiba :: PR
:: Fone: (41) 252-2940 :: E-mail

Valew victor mas tentei agora com array of char ( isso me lembra linguagem C
rs..) mas da exatamente o mesmo erro, parece que todo tipo de array q se
passe daquela forma (colocando como parametro o nome da variavel array sem
indicar indice) da este erro de compilação, se colocar o indice ou colocar a
string na mão ('minha string') compila, roda, mas da pau na execução dizendo
q os tipos saum incompativeis, usamos a dll da impressora bemateck q vc
mencinou no mesmo sistema, e outras + ; ) mas em todas as dlls que usamos ñ
tinha nenhum exemplo q recebesse como parametro um array.. somente os tipos
basicos da linguagem, ind tah embaçado esse negocio... será q tem alguma
restrição quanto a passar o array dessa forma para um tipo variant?


www.ansata.com.br

Assunto: Re: Array como parametro - funcao em DLL externa :(

    Tente com Char ! Se não engano a Dll da bematech tem algo assim tb.


constructor TVitor.Create( AOwner : TProgrammer );
begin
    Name := 'Vitor Redes';
    Login := 'vredes';
    Password := '**********';
    City := 'Curitiba';
    Employee := 'Redsystem';
    inherited Create( AOwner )
end;

end.
  ----- Original Message -----
  From: Rafael
  To: delphi-br@yahoogrupos.com.br
  Sent: Wednesday, September 14, 2005 2:42 PM
  Subject: [delphi-br] Array como parametro - funcao em DLL externa :(


  AnSataOlá pessoal, seguinte..
  tenho q acessar as funções de uma dll aqui, o cara dono da dll soh tem um
  exemplo em VB, no ve ele usa a funcao "AssinarArquivos" resumidamente
desta
  forma:

  Dim clsXSign As Object
  Dim strAquivos(1) As String
  Dim bolAssinou As Boolean
  Set clsXSign = CreateObject("XSign.XSignDLL")
  strAquivos(1) = txtArquivo.Text
  bolAssinou = clsXSign.AssinarArquivos(strAquivos, "", False, False, False)

  no delphi entaum to fazendo assim..

  clsXSign : variant;
  strAquivos: array[0..1] of string;
  bolAssinou: boolean;
  clsXSign := CreateOleObject('XSign.XSignDLL');
  strAquivos[0] := 'C:\rag7.jpg';
  bolAssinou := clsXSign.AssinarArquivos(strAquivos,'C:\', True, False,
  false);

  mas ao compilar da o seguinte erro "[Error] Un_testD7.pas(49): Type not
  allowed in Variant Dispatch call"
  será que eu estou criando o objeto de forma errada? se ao invés de eu
passar
  o array strAquivos eu escrever
  uma string na mão ele compila e roda mas da erro na execução de tipos
  incompartiveis, a documentação do cara
  diz que tem q ser um array mas nem mesmo o tipo dele esta especificado, no
  Vb ele fez com string assim to fazendo
  da mesma forma.. eu ñ tenho pratica em usar dlls na aplicação.. devo tar
  comendo bola
  com algo bem basico a esse respeito. alguem tem alguma ideia??

  Obrigado pessoal




-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.10.21/96 - Release Date: 10/09/2005



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a