a dll aceita variant?

Type
  TTipoArray = Array of Array [0..255] of Char

var
  TipoArray: TTipoArray

----- Original Message -----
From: "Rafael" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Wednesday, October 05, 2005 1:54 PM
Subject: [delphi-br] Re: Re: PROBLEMA COM PARAMETRO ARRAY EM DLL ESOTÉRICA
; ) ALGUEM JAH VIU DISSO?


>
> Valew a dica, mas isso tb naum deu certo..
> quanto a compatibilidade usando Pchar eu conhecia, mas naum tinha tentado
> uma declaração da forma como vc sugeriu "SeuArray: Array of Array[0..255]
of
> Char;" tentei isto, mas o problema foi o mesmo de com um array qualquer..
de
> string por exemplo ""[Error] Un_testD7.pas(49): Type not allowed in
Variant
> Dispatch call" a tal chamada soh parece compilar com os tipos embutidos da
> linguagem, string, boolean, etc e variant, por isso tentei criar o tal
> "array de strings" que a documentação da dll pedia de diversas formar
> permitidas pelo variant, sem sucesso :( o grande problema eh que ñ consigo
> passar o array como parametro para a função pq a compilação diz que o tipo
> (array) naum eh aceito como perametro pelo variant (origem do objeto q
criei
> com a dll), ñ conheço uma forma de criar um objeto OLE apartir de uma dll
q
> naum seja apartir de um variant, mas se isso for possivel desvio do
problema
> de o array ñ ser aceito por um variant naum?
> Nunca pensei q passar um array como parametro pra uma dll "estrangeira"
> (naum delphi) era tão cheio de excessoes :)
> Alguma idéia?
> Obrigado!
>
>
>  Mensagem: 10
>      Data: Tue, 4 Oct 2005 16:46:19 -0300
>        De: "FILIPE - GURU" <[EMAIL PROTECTED]>
>   Assunto: Re: PROBLEMA COM PARAMETRO ARRAY EM DLL ESOTÉRICA ; ) ALGUEM
JAH
> VIU DISSO?
>
> Olha cara, naum sei se t ajuda, talvez tu jah saibas disso:
>
> uma string no delphi, eh um array de chars, onde o prmeiro caracter é o
> número de caracteres da string, ex:
>
> [6][S][T][R][I][N][G]
>
> e em vb, c, e no windows, uma "string" é delimitada pelo caractere nulo:
>
> [S][T][R][I][N][G][0#]
>
> pra transformar uma string Delphi em "String Multiuso" faz-se:
>
> PChar(StringDelphi)
>
> qdo vc for criar o array, talvez deva ser declarado assim::
>
> SeuArray: Array of Array[0..255] of Char;
>
> Tenta isso e posta o resultado.
>
> Flw!
>
> ----- Original Message -----
> From: "Rafael" <[EMAIL PROTECTED]>
>
>
>             Uma dll criada em VB na qual em uma função o parametro passado
é
> um array de strings, no exemplo em VB de uso da dll o cara alimenta o
array
> com os valores q quer, depois chama a função e passa o nome do array como
> parametro, sem especifar um indice ou qquer outra coisa, como se pode
fazer
> no C por exemplo, mas no Delphi ñ dá pra fazer o mesmo, se eu tentar
passar
> para a função somente o nome do array da erro de compilação dizendo "Tipe
> not allowed in Variant Dispatch call" bem.. eu crio um objeto contendo a
dll
> apartir de um variant.. assim :
>             obj : variant;
>             ...
>             obj := CreateOleObject('MinhaDLL');
>             ...
>             obj.Funcao(OArray);
>
>             desta forma da o erro de compilação, mas eh desta forma que se
> faz no VB e funca...
>
>             tentei, então com pchar e um monte de tipos de array
esotericos
> o unico array q passa da compilação sem dar erro, é o criado assim  array
:=
> VarArrayCreate([0,1],varolestr); e o array eh um variant.
>
>             mas esta tentativa da erro de execução "tipos incompativeis"
>
>             Alguem jah passou um parametro para uma dll que seja array do
> tipo string? de preferencia para uma dll ñ delphi? li algo no help do
delphi
> q existe umas excessoes neste caso, mas o help naum ma pareceu claro..
>
>             Alguem pode me ajudar? jah passaram por isso?
>
>             Obrigado
>
>       www.ansata.com.br
>
>
>
> --
> Internal Virus Database is out-of-date.
> Checked by AVG Anti-Virus.
> Version: 7.0.344 / Virus Database: 267.11.6/111 - Release Date: 23/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
>
>
>
>
>
>
>
>
>
>





-- 
<<<<< 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