li sobre esse erro e ja troquei para shortstring
mas nao adiantou, sera que esqueci de mais alguma coisa?




2008/7/1 Rubem Nascimento da Rocha <[EMAIL PROTECTED]>:

>
> Duas coisas:
>
> 1) Troque o tipo do parâmetro Texto de string para ShortString ou
> WideString e recompile a DLL;
>
> 2) Informe-se sobre as regras para o uso de parâmetros literais(string) em
> funções exportadas de DLLs escritas em Delphi, pois vc não atentou para
> alguns detalhes a respeito disto!
>
> Sds.
>
> ________________________________
>
> To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>
> From: [EMAIL PROTECTED] <govoni.felipe%40gmail.com>
> Date: Tue, 1 Jul 2008 16:39:27 -0300
> Subject: [delphi-br] dll - access violation
>
>
> boa tarde galera
>
> estou tentando criar uma dll pra criptografar dados
> mas quando tento compilar o projeto q chama essa dll da um erro de acces
> violation
> ja coloquei a dll na pasta do projeto e mesmo assim nao fuinciona.
>
> o codigo da dll:
>
> function ValorAsc(Letra: String): Byte;
> begin
> if Length(letra)> 0 then ValorAsc := Ord(Letra[1]) else ValorAsc := 0;
> end;
>
> function Cripto(Texto: String): String; export; stdcall;
> var
> Cont, Cod: Integer;
> Retorna: String;
> begin
> for Cont := 1 to Length(Texto) do begin
> Cod := ValorAsc(Copy(Texto, Cont, 1));
> Retorna := Retorna + Chr(Cod + 57(*valor a ser adicionado - pode ser
> modificado*));
> end;
> Cripto := Retorna;
> end;
>
> e o codigo q chama a dll
>
> function cripto(texto :string):string;external 'cript.dll';
>
> procedure TfrmNovo.BitBtn1Click(Sender: TObject);
> var
> nome: string;
> Arquivo: TextFile;
> begin
> nome := 'C:\finalcard\data\cadpers.prs';
>
> AssignFile(Arquivo, nome);
>
> if FileExists(nome) then
> Append(arquivo) { se existir, apenas adiciona linhas }
> else
> ReWrite(arquivo); { cria um novo se não existir }
> try
> WriteLn(arquivo, cripto(edit1.Text));
> WriteLn(arquivo, formatdatetime('dd-mm-yyyy',now));
> WriteLn(arquivo, '-------');
> finally
> CloseFile(arquivo)
> end;
>
> alguem sabe oq pode ser?
>
> --
> Felipe Govoni
> ---------------------
> Programador
> Fone 8472-8718
>
> __________________________________________________________
> Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver
> offline. Conheça o MSN Mobile!
> http://mobile.live.com/signup/signup2.aspx?lc=pt-br
> 
>



-- 
Felipe Govoni
---------------------
Programador
Fone 8472-8718


[As partes desta mensagem que não continham texto foram removidas]

Responder a