Aproveitando o assunto de encriptação, eu estou usando uma função para encriptar alguns dados que são armazenados em meu banco de dados interbase, o que eu não achei, foi uma função que encriptasse e mantesse a string final do mesmo tamanho que a string original, tive que chutar um número de espaços adicionais para meus campos, para tentar acabar com os erros gerados ao exceder o tamanhos dos mesmos. Será que alguém já resolveu esse problema?
Valeu, Hilário. ----- Original Message ----- From: felipe govoni To: delphi-br@yahoogrupos.com.br Sent: Tuesday, July 01, 2008 4:39 PM 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 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]