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