delphi - 无法在 Windows 7 上运行 win32 exe

标签 delphi

我使用 IdHTTP 和 IdFTP 编写了一个程序,但遇到了问题。我在 Windows XP 32 位(使用 Delphi XE4)上编写了它,并且 exe 文件(Project1.exe)工作正常。当我尝试在 Windows 7 64 位上打开它时,计算机出现错误。

图片:click

意思是“您无法访问该路径或指定的文件。可能您没有足够的权限”。我以前从未见过这个错误。在这里您可以看到带有源代码的文件夹的图片。

如何解决我的问题?

代码如下:

function downloadSrc(var aUrl:ansiString):ansiString;
begin
 with tIdHttp.create(nil) do begin        //Create Indy http object
  request.userAgent:=INET_USERAGENT;      //Custom user agent string
  redirectMaximum:=INET_REDIRECT_MAX;     //Maximum redirects
  handleRedirects:=INET_REDIRECT_MAX<>0;  //Handle redirects
  readTimeOut:=INET_TIMEOUT_SECS*1000;    //Read timeout msec
  try                                     //Catch errors
   result:=get(aUrl);                     //Do the request
   if url.port='80' then url.port:='';    //Remove port 80 from final URL
   aUrl:=url.getFullURI                   //Return final URL
  except result:='error' end;             //Return an error message if failed
  free                                    //Free the http object
 end
end;

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
if not(DirectoryExists('C:\mk7vrlist')) then
begin
  CreateDir('C:\mk7vrlist');
end;
ComboBox1.Items.BeginUpdate;
 for i := 0 to 59 do
   begin
     ComboBox1.AddItem(IntToStr(40000+i*1000), nil);
   end;
ComboBox1.AddItem('99999', nil);
ComboBox1.Items.EndUpdate;
end;

procedure TForm1.Label5Click(Sender: TObject);
begin
 ShellExecute(self.WindowHandle,'open',PChar('http://www.mk7vrlist.altervista.org'),nil,nil,SW_SHOWNORMAL);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var s:ansiString;
begin
 IdFTP1.Host:= 'mk7vrlist.altervista.org';
 IdFTP1.Username:='mk7vrlist';
 IdFTP1.Password:=pass;
 IdFTP1.Connect;
 s:='http://www.mk7vrlist.altervista.org/databases/test.txt';
 Memo1.Lines.Add(Edit1.Text+':'+ComboBox1.Text+':'+Edit2.Text);
 Memo1.Lines.Add(downloadSrc(s));
 Memo1.Lines.SaveToFile('C:\mk7vrlist\test.txt');
 IdFTP1.ChangeDir('databases/');
 IdFTP1.Put('C:\mk7vrlist\test.txt');
 IdFTP1.Quit;
 IdFTP1.Disconnect;
 Label10.Visible:=True;
 Beep;
end;

最佳答案

假设您的帐户具有管理权限,请右键单击程序的图标,然后调用“以管理员身份运行” - 您将收到提示/警告 - 单击"is"。

我不认为问题出在 32->64 位上,而是从 XP 到 Win 7,默认情况下,Win 7 对访问更加严格。

您可以设置一个快捷方式,配置为始终以管理员身份运行它,以避免右键单击步骤,但您仍然会收到提示/警告。

关于delphi - 无法在 Windows 7 上运行 win32 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16754773/

相关文章:

delphi - Delphi 7 中的 FormShow 问题

delphi - 获取包含数字的第一个单词

delphi - 在 TRadioGroup 中选择了哪个单选按钮?

delphi - 将单个列添加到 cxGrid 并用于选择目的(复选框)

android - 我无法将 Android 项目从 Delphi 10.4 迁移到 Delphi 11.1

android - 如何在 TEdit 处于焦点时隐藏(并再次显示)软键盘 DELPHI XE7

delphi - 动态数组占用的 "real"内存大小是多少?

delphi - 调用 TObjectList.Clear 时,不会释放 TObjectList 中的对象

delphi - 调用不同形式的类函数

Delphi XE 7 Indy IRC 检测连接丢失