为什么在程序调用退出后,会出错呢?(100分)

  • 主题发起人 主题发起人 gang18
  • 开始时间 开始时间
G

gang18

Unregistered / Unconfirmed
GUEST, unregistred user!
function password_inn(pass_in:string):string;
var
str_str:string;
str_array:array[0..12] of string;
aaa:string;
length_str,i:integer;
begin
str_str:=pass_in;
length_str:=length(str_str);
for i:=0 to length_str-1 do
str_array:=copy(str_str,i+1,1);
aaa:='';
for i:= 11 downto 0 do
aaa:=aaa+str_array;
password_inn:=aaa;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.text:=password_inn('asdfghjklpoi');
end;

调用时没有错误,可是在程序退出是,为什么会出错呢,请指教!
 
字符反转
试了一下,没错啊!
 
不一定是这段代码的问题,看看其它的代码
 
程序应该没问题,退出时出什么错误提示?是不是其它代码有问题?
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function password_inn(pass_in:string):string;
var
Form1: TForm1;

implementation

{$R *.dfm}
function password_inn(pass_in:string):string;
var
str_str:string;
str_array:array[0..12] of string;
aaa:string;
length_str,i:integer;
begin
str_str:=pass_in;
length_str:=length(str_str);
for i:=0 to length_str-1 do
str_array:=copy(str_str,i+1,1);
aaa:='';
for i:= 11 downto 0 do
aaa:=aaa+str_array;
password_inn:=aaa;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.text:=password_inn('asdfghjklpoi');
end;

end.

全部源码在此, 没有任何问题!
在D6下通过!
 
有可能是系统的原因,我现在编的程序也这样,在别人的机器上没事
可以我自己的机器运行一退出就是非法操作!真是莫名其妙!我觉得
我只能怀疑自己的机器了
 

大家好,我的意思是这样的,我本想做个dll对用户名加密,就是把用户的密码作为string,
当作函数的输入参数,然后在里面用数组进行变换,最后在返回变换后的string,可是我在
调用的时候,能返回预期的结果,只是程序退出的时候,总是产生错误,我不知道改怎么解
决!
 
uses shareMem了吗?
 
果然是怪事情,现在可以了

谢谢大家了!
 
多人接受答案了。
 
后退
顶部