ja tentei como widestring e tambem nao funcionou. eis o codigo:
no projeto onde chama a dll declarei assim: function cripto(texto :widestring):wideString;external 'cript.dll'; e no botao: WriteLn(arquivo, cripto(edit1.Text)); 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: wideString): wideString; 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; function DesCripto(Texto: widestring): widestring; 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); end; DesCripto := Retorna; end; -- Felipe Govoni --------------------- Programador Fone 8472-8718 [As partes desta mensagem que não continham texto foram removidas]