Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List Lazarus SaveToFile不工作_List_Dialog_Save_Lazarus - Fatal编程技术网

List Lazarus SaveToFile不工作

List Lazarus SaveToFile不工作,list,dialog,save,lazarus,List,Dialog,Save,Lazarus,我一直在为一个游戏编写代码,在实现保存选项时遇到了一个问题。我一直在TStringList中保存所有的移动,在点击按钮后,我想保存用户选择的列表,但我总是出错 无法创建文件“C:\User\Admin\etc…”,我找不到原因。以下是我的一些代码: procedure THistory.setName(name : String); begin fileName := name; end; procedure THistory.save(); begin movesList.SaveT

我一直在为一个游戏编写代码,在实现保存选项时遇到了一个问题。我一直在TStringList中保存所有的移动,在点击按钮后,我想保存用户选择的列表,但我总是出错

无法创建文件“C:\User\Admin\etc…”,我找不到原因。以下是我的一些代码:

procedure THistory.setName(name : String);
begin
  fileName := name;
end;

procedure THistory.save();
begin
  movesList.SaveToFile(fileName)
end

procedure TGameForm.saveButtonClick(Sender: TObject);
begin
  if saveDialog.Execute then begin
     history.setName(saveDialog.FileName);
     history.save();
  end;
end;
欢迎任何帮助


我正在运行64位Windows 7,消息如下:Project Piłka引发异常类“EFCreateError”,消息为:无法创建文件“C:\User\Admin\Desktop\Piłka\save\sav1.sav”

可能该用户目录的路径中有Unicode值。如果是这样,您可能需要使用Windows应用程序的lasutf8utils库中的各种utf8函数。Linux不受影响。尝试先保存到一个常规的ascii路径,如c:\temp,然后看看它是否有效。如果是这样,那就是原因。那个么试试utf8toutf16(路径)

你们试过以管理员身份运行程序吗? 项目内选项→ 执行级别尝试设置为需要管理员。
要在lazarus中运行程序,请以管理员身份重新打开lazarus。

问题是“Piłka”,将路径更改为仅ansi字符或使用FileUtil的UTF8toSys()

嗯,这对我们很重要。您得到的确切错误消息是什么?这是由访问被拒绝等原因造成的吗?您在哪个操作系统上运行应用程序?