Sem dúvida, em Delphi também, com StrPCopy.


----- Original Message -----
From: "Jonatã Castelo Branco" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Wednesday, May 24, 2006 10:58 AM
Subject: Re: RES: [delphi-br] Criando DLL


> Então, acredito ser correto dizer que você deve
> utilizar uma variável com a mesma característica do
> PChar, uma vez que a dll pode ser utilizada em várias
> linguagens de programação. Por exemplo, não quero te
> confundir, mas se você utlizar tua dll em um
> compilador de C, a variável que você vai passar como
> parâmetro deve ser um char de n elemntos. No C, está é
> uma string com terminação nula.
>
> int main(void) {
>   ...
>   char Str[10];  // declarando variáveis.
>   ...
>   TuaFuncao(...,Str,...);  // funcao da dll.
>   ...
> }
>
>
> --- Campus <[EMAIL PROTECTED]> escreveu:
>
>
> ---------------------------------
> Exatamente. Só tentei simplificar, quem nunca teve
> contato com linguagens
> como C tem dificuldade para entender o coneito de
> ponteiros. Apesar que
> mesmo em Clipper se usa esse conceito, mas a grande
> maioria dos
> programadores que que tenho contato desconhece essa
> facilidade, a passagem
> de parâmetros por referência.
>
> Marcelo, Pchar, não é um tipo de dado própriamente
> dito, é um ponteiro
>
> ele deve ser usado da seguinte forma:
>
> Var pDescricao: PChar
>        cDescricao: String
>
> cDescricao := 'Rubem Nascimento da Rocha'
> pDescricao := PChar(cDescricao)
>
> pDescricao agora "aponta" para cDescricao, ou seja,
> contém o endereço de
> memória onde cDescricao está armazenado. O que se
> passa como parâmetro, é
> esse endereço e não o conteúdo de cDescricao.
>
> O problema começa quando se usa pDescricao :=
> Pchar('Rubem Nascimento da
> Rocha')
>
>
> ----- Original Message -----
> From: "Rubem Nascimento da Rocha"
> <[EMAIL PROTECTED]>
> To: <delphi-br@yahoogrupos.com.br>
> Sent: Wednesday, May 24, 2006 9:25 AM
> Subject: Re: RES: [delphi-br] Criando DLL
>
>
> > Não necessariamente um array, mas PChar é um
> ponteiro para dados do tipo
> > char. Sds.
> >
> >
> > >From: "Marcelo Alves" <[EMAIL PROTECTED]>
> > >Reply-To: delphi-br@yahoogrupos.com.br
> > >To: delphi-br@yahoogrupos.com.br
> > >Subject: Re: RES: [delphi-br] Criando DLL
> > >Date: Wed, 24 May 2006 09:21:32 -0300
> > >
> > >No caso então quem for usar a minha DLL precisar
> passar os parâmetros em
> > >PChar??? Essa DLL que estou desenvolvendo será
> usada em site em VB .NET.
> > >
> > >Marcelo.
> > >
> > >
> > >Em 24/05/06, Campus <[EMAIL PROTECTED]> escreveu:
> > > >
> > > > Se não me engano, PChar é uma array de chars
> terminado por um caracter
> > > > nulo,
> > > > e o String não.
> > > >
> > > > Basicamente é o segunte:
> > > >
> > > > "FILIPE"
> > > >
> > > > em PChar = FILIPE#0.
> > > > em String = 6FILIPE.
> > > >
> > > > O primeiro byte do string contém seu tamanho,
> por isso passar uma
> string
> > > > como parâmetro para uma DLL pode congelar o
> Windows, uma vez que ele
> não
> > > > encontra o fim da string, que é marcado pelo
> caracter nulo..
> > > >
> > > >
> > > >
> > > >
> > > > ----- Original Message -----
> > > > From: "Filipe Belchior"
> <[EMAIL PROTECTED]>
> > > > To: <delphi-br@yahoogrupos.com.br>
> > > > Sent: Tuesday, May 23, 2006 6:08 PM
> > > > Subject: Re: RES: [delphi-br] Criando DLL
> > > >
> > > >
> > > > Marcello,
> > > >
> > > > Explicar sobre PChar, tecnicamente, eu não sei,
> rs..
> > > > ..mas acontece o seguinte, usando string vc tem
> resultado
> > > > dos métodos todo errado!
> > > >
> > > > agora, sobre o form do report, vc falou pouco
> sobre
> > > > como vc esta fazendo. mostre como vc ta fazendo.
> > > >
> > > >
> > > >
> > > > --- Em delphi-br@yahoogrupos.com.br,
> "marcelloassouza"
> > > > <[EMAIL PROTECTED]> escreveu
> > > > >
> > > > > Felipe,
> > > > >
> > > > > Primeiramente, obrigado pela resposta, você
> não sabe o quanto me
> > > > > ajudou, você e os outros amigos do grupo.
> Agora me diga uma coisa,
> no
> > > > > primeiro form o problema foi resolvido, agora
> estou com problemas
> > > > > quando ao outro que no Caso é um Report.
> Quando uso o Report num
> > > > > projeto comum, ele funciona normal ao chamar
> qualquer obejto do
> > > > > mesmo, mas agora num DLL, estou recebendo a
> mesma mensagem de access
> > > > > violation. Tenho que instacia-lo ou fazer
> alguma chamada
> diferenciada
> > > > > para poder utilizá-lo na minha DLL???
> > > > >
> > > > > Outra coisa, porque Pchar ao invés de String?
> Só para
> conhecimento!!!
> > > > >
> > > > > Marcelo.
> > > > >
> > > > >
> > > > > --- Em delphi-br@yahoogrupos.com.br, Filipe
> Belchior
> > > > > <[EMAIL PROTECTED]> escreveu
> > > > > >
> > > > > > ..outra coisa,
> > > > > >
> > > > > > no caso, vc ta usando ADO, já vou avisando
> que vc terá problemas
> > > > > > com ActiveX em projeto DLL.. para resolver,
> faça o seguinte:
> > > > > >
> > > > > > no "OnCreate" do 1o form a ser criado no
> projeto dll, inclua a
> > > > > linha:
> > > > > >
> > > > > > CoInitialize( nil );
> > > > > >
> > > > > > ..e no "OnDestroy":
> > > > > >
> > > > > > CoUninitialize;
> > > > > >
> > > > > > ..Ah! assim como o Anderson comentou, não
> use String nos
> parametros
> > > > > > dos métodos que serão exportados na sua
> dll.. sendo assim, basta
> > > > > mudar
> > > > > > o seguinte:
> > > > > >
> > > > > > Procedure GeraPDF( Servidor, Tipo: PChar );
> stdcall;
> > > > > >
> > > > > >
> > > > > > ..pronto, valeu!!
> > > > > >
> > > > > >
> > > > > >
> _______________________________________________________
> > > > > > Abra sua conta no Yahoo! Mail: 1GB de
> espaço, alertas de e-mail no
> > > > > celular e anti-spam realmente eficaz.
> > > > > > http://br.info.mail.yahoo.com/
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA
> MENSAGEM >>>>>
> > > >
> > > >
> > > >
> > > > Links do Yahoo! Grupos
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA
> MENSAGEM >>>>>
> > > >
> > > >
> > > >
> > > > Links do Yahoo! Grupos
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >--
> > >Marcelo A. Souza
> > >
> > >
> > >[As partes desta mensagem que não continham texto
> foram removidas]
> > >
> >
> >
> _________________________________________________________________
> > MSN Busca: fácil, rápido, direto ao ponto.
> http://search.msn.com.br
> >
> >
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA
> MENSAGEM >>>>>
> >
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA
> MENSAGEM >>>>>
>
> http://br.groups.yahoo.com/group/delphi-br/messages
>
>
>
>
>                   Yahoo! Grupos, um serviço oferecido
> por:                    PUBLICIDADE
> var lrec_target="_top";var lrec_URL=new
>
Array();lrec_URL[1]="http://br.ard.yahoo.com/SIG=12fct8dd1/M=396559.7942981.
9484409.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1148485069/A=3718281/R=0/
id=flashurl/SIG=154dcqslu/*http://lt.dell.com/lt/lt.aspx?CID=13040&LID=34071
5&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.as
px/desktops?c%3dbr%26l%3dpt%26s%3ddhs";var
>
lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/230506_y300x250_maio03_d
hs_dim5150.swf?clickTAG=_javascript_:LRECopenWindow(1)";var
>
lrec_altURL="http://br.ard.yahoo.com/SIG=12fct8dd1/M=396559.7942981.9484409.
2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1148485069/A=3718281/R=1/id=altim
g/SIG=154dcqslu/*http://lt.dell.com/lt/lt.aspx?CID=13040&LID=340715&DGC=BA&D
GSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktop
s?c%3dbr%26l%3dpt%26s%3ddhs";var
>
lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/230506_y300x250_maio03_dhs_
dim5150.gif";var
> lrec_width=300;var lrec_height=250;
>
>
> ---------------------------------
> 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 Termos do Serviço do Yahoo!.
>
>
>
> __________________________________________________
> Faça ligações para outros computadores com o novo Yahoo! Messenger
> http://br.beta.messenger.yahoo.com/
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
> 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]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a