设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 失落的乐章

[原创发布] RxDataEditor - RMXP 数据库备注编辑器

[复制链接]

Lv4.逐梦者

梦石
0
星屑
15102
在线时间
1884 小时
注册时间
2007-12-15
帖子
6202
发表于 2018-6-16 17:42:42 | 显示全部楼层
那个,非常感谢楼主的工具,据说可以实现很多效果,有的地方可以使用来解决一些问题。
现在的问题依然是,这个数据库编写后保存的时间太长了……
可能是我数据库较大,进度条这个虽然是有,但是一直不增长。
如图所示我随便写了个注释然后保存
01.png
保存一次的时间目前在三十秒左右,但是这个未响应一直让我很不安。
这时候一旦移动鼠标就会出现未响应,如果万一手欠关闭就会出现这个
02.png
这个测试我备份了数据库估,故意在未响应时候关闭的,但是实际使用时会出现各种不可预测的情况……

有可能的话,请优化一下保存时的进度显示,还有在保存异常时候不损坏数据库,这样我才敢安心使用,
非常感谢。

点评

大概每次保存都是全部数据库一起写入文件的?  发表于 2018-6-16 18:12
https://rpg.blue/forum.php?mod=viewthread&tid=375080  发表于 2018-6-16 18:00
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2155
在线时间
843 小时
注册时间
2011-8-16
帖子
243
 楼主| 发表于 2018-6-16 20:55:44 | 显示全部楼层
89444640 发表于 2018-6-16 17:42
那个,非常感谢楼主的工具,据说可以实现很多效果,有的地方可以使用来解决一些问题。
现在的问题依然是, ...

已更新至 1.3,现在保存速度应该会比以前快一些,进度条也能正确显示了。可以测试一下(记得备份数据……)

数据库损坏的问题,也许只能通过备份数据的方式避免,过段时间我可能会写一个自动备份功能。
(理论上应该只有在保存过程中意外关闭程序才会导致数据库损坏)

点评

可以考虑一下分段保存,比如,我只编辑了动画的备注,只需要保存动画备注就可以了,这样速度会快很多。  发表于 2018-6-17 06:18

评分

参与人数 2+2 收起 理由
89444640 + 1 我很赞同
guoxiaomi + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
15102
在线时间
1884 小时
注册时间
2007-12-15
帖子
6202
发表于 2018-6-17 06:28:24 | 显示全部楼层
可能是我数据库太大了
01.png
熟读明显提升不少,但还是一定几率出这个,这个时候什么都不动能过去。

点评

测试新版效果如何?  发表于 2018-6-18 09:36
可不可以分段读取分段写入呢..分成10段..只写入那一段..  发表于 2018-6-17 10:20
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2155
在线时间
843 小时
注册时间
2011-8-16
帖子
243
 楼主| 发表于 2018-6-17 16:59:37 | 显示全部楼层
89444640 发表于 2018-6-17 06:28
可能是我数据库太大了

熟读明显提升不少,但还是一定几率出这个,这个时候什么都不动能过去。 ...

已更新,现在程序在保存过程中应该不会失去响应了。写入文件的过程也优化过了,我测试时保存速度很快,但不清楚在更大的数据库中速度表现如何。所以还请再测试一下。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
15102
在线时间
1884 小时
注册时间
2007-12-15
帖子
6202
发表于 2018-6-18 10:36:08 | 显示全部楼层
失落的乐章 发表于 2018-6-17 16:59
已更新,现在程序在保存过程中应该不会失去响应了。写入文件的过程也优化过了,我测试时保存速度很快,但 ...


非常感谢,笔记本+固态硬盘测试,
把data文件复制到其他地方。
这次不会失去响应了,保存的过程中可以选择别的数据库继续编辑。
保存时间,我测试9999的动画数据库,第一次需要大概两分钟,后面的大概在10~20秒上下,可以接受。
关闭后第二次测试,保存过程五分钟进度槽也不动,于是关闭,然后再打开就出现了这个。
01.png
感觉是数据库损坏了。


RUBY 代码复制打印
  1. 有关调用实时(JIT)调试而不是此对话框的详细信息,
  2. 请参见此消息的结尾。
  3.  
  4. ************** 异常文本 **************
  5. System.ArgumentException: marshal data too short
  6.    在 IronRuby.Builtins.RubyMarshal.MarshalReader.Load()
  7.    在 IronRuby.Builtins.RubyMarshal.Load(ReaderSites sites, RubyScope scope, RubyModule self, RubyIO source, Proc proc)
  8.    在 Microsoft.Scripting.Interpreter.FuncCallInstruction`6.Run(InterpretedFrame frame)
  9.    在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
  10.    在 Microsoft.Scripting.Interpreter.LightLambda.Run4[T0,T1,T2,T3,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3)
  11.    在 Microsoft.Scripting.Interpreter.DynamicInstruction`4.Run(InterpretedFrame frame)
  12.    在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
  13.    在 Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0 arg0, T1 arg1, T2 arg2)
  14.    在 IronRuby.Runtime.Calls.BlockDispatcher1.Invoke(BlockParam param, Object self, Proc procArg, Object arg1)
  15.    在 IronRuby.Runtime.RubyOps.Yield1(Object arg1, Proc procArg, Object self, BlockParam blockParam)
  16.    在 IronRuby.Runtime.BlockParam.Yield(Object arg1, Object& blockResult)
  17.    在 IronRuby.Builtins.RubyIOOps.InvokeOpenBlock(UnaryOpStorage closeStorage, BlockParam block, Object obj)
  18.    在 Microsoft.Scripting.Interpreter.FuncCallInstruction`4.Run(InterpretedFrame frame)
  19.    在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
  20.    在 Microsoft.Scripting.Interpreter.LightLambda.Run6[T0,T1,T2,T3,T4,T5,TRet](T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
  21.    在 Microsoft.Scripting.Interpreter.DynamicInstruction`6.Run(InterpretedFrame frame)
  22.    在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
  23.    在 Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0 arg0, T1 arg1, T2 arg2)
  24.    在 IronRuby.Runtime.Calls.RubyObjectMethodDispatcherWithScope`1.Invoke[TScope](CallSite callSite, TScope scope, Object self, T0 arg0)
  25.    在 Microsoft.Scripting.Interpreter.DynamicInstruction`4.Run(InterpretedFrame frame)
  26.    在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
  27.    在 Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0 arg0, T1 arg1, T2 arg2)
  28.    在 Microsoft.Scripting.Interpreter.FuncCallInstruction`5.Run(InterpretedFrame frame)
  29.    在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
  30.    在 Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0 arg0, T1 arg1, T2 arg2)
  31.    在 lambda_method(Closure , DynamicOperations , CallSiteBinder , Object , Object[] )
  32.    在 Microsoft.Scripting.Runtime.DynamicOperations.InvokeMember(Object obj, String memberName, Boolean ignoreCase, Object[] parameters)
  33.    在 Microsoft.Scripting.Hosting.ObjectOperations.InvokeMember(Object obj, String memberName, Object[] parameters)
  34.    在 RXDataEditor.RXDataEditor.LoadRxdataFiles(String path)
  35.    在 RXDataEditor.RXDataEditor.tsmOpenDir_Click(Object sender, EventArgs e)
  36.    在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
  37.    在 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
  38.    在 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
  39.    在 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
  40.    在 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
  41.    在 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
  42.    在 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
  43.    在 System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
  44.    在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
  45.    在 System.Windows.Forms.Control.WndProc(Message& m)
  46.    在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
  47.    在 System.Windows.Forms.ToolStrip.WndProc(Message& m)
  48.    在 System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
  49.    在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
  50.    在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
  51.    在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  52.  
  53.  
  54. ************** 已加载的程序集 **************
  55. mscorlib
  56.     程序集版本:4.0.0.0
  57.     Win32 版本:4.0.30319.36440 built by: FX452RTMLDR
  58.     基本代码:file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
  59. ----------------------------------------
  60. RXDataEditor
  61.     程序集版本:1.3.0.0
  62.     Win32 版本:1.3.0.0
  63.     基本代码:file:///D:/%EF%BC%81%E4%B8%9C%E6%96%B9%E5%BC%82%E9%97%BB%E5%BD%95/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E6%B3%A8%E8%BD%AF%E4%BB%B6/RXDataEditor.exe
  64. ----------------------------------------
  65. Microsoft.VisualBasic
  66.     程序集版本:10.0.0.0
  67.     Win32 版本:12.0.52415.36415 built by: FX452RTMLDR
  68.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
  69. ----------------------------------------
  70. System
  71.     程序集版本:4.0.0.0
  72.     Win32 版本:4.0.30319.36415 built by: FX452RTMLDR
  73.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
  74. ----------------------------------------
  75. System.Core
  76.     程序集版本:4.0.0.0
  77.     Win32 版本:4.0.30319.36415 built by: FX452RTMLDR
  78.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
  79. ----------------------------------------
  80. System.Windows.Forms
  81.     程序集版本:4.0.0.0
  82.     Win32 版本:4.0.30319.36415 built by: FX452RTMLDR
  83.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
  84. ----------------------------------------
  85. System.Drawing
  86.     程序集版本:4.0.0.0
  87.     Win32 版本:4.0.30319.36415 built by: FX452RTMLDR
  88.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
  89. ----------------------------------------
  90. System.Runtime.Remoting
  91.     程序集版本:4.0.0.0
  92.     Win32 版本:4.0.30319.36415 built by: FX452RTMLDR
  93.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
  94. ----------------------------------------
  95. IronRuby
  96.     程序集版本:1.1.1.0
  97.     Win32 版本:1.1.1.0
  98.     基本代码:file:///D:/%EF%BC%81%E4%B8%9C%E6%96%B9%E5%BC%82%E9%97%BB%E5%BD%95/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E6%B3%A8%E8%BD%AF%E4%BB%B6/IronRuby.DLL
  99. ----------------------------------------
  100. Microsoft.Scripting
  101.     程序集版本:1.1.0.10
  102.     Win32 版本:1.1.0.10
  103.     基本代码:file:///D:/%EF%BC%81%E4%B8%9C%E6%96%B9%E5%BC%82%E9%97%BB%E5%BD%95/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E6%B3%A8%E8%BD%AF%E4%BB%B6/Microsoft.Scripting.DLL
  104. ----------------------------------------
  105. Microsoft.Dynamic
  106.     程序集版本:1.1.0.10
  107.     Win32 版本:1.1.0.10
  108.     基本代码:file:///D:/%EF%BC%81%E4%B8%9C%E6%96%B9%E5%BC%82%E9%97%BB%E5%BD%95/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E6%B3%A8%E8%BD%AF%E4%BB%B6/Microsoft.Dynamic.DLL
  109. ----------------------------------------
  110. System.Configuration
  111.     程序集版本:4.0.0.0
  112.     Win32 版本:4.0.30319.36415 built by: FX452RTMLDR
  113.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
  114. ----------------------------------------
  115. System.Xml
  116.     程序集版本:4.0.0.0
  117.     Win32 版本:4.0.30319.36430 built by: FX452RTMLDR
  118.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
  119. ----------------------------------------
  120. IronRuby.Libraries
  121.     程序集版本:1.1.1.0
  122.     Win32 版本:1.1.1.0
  123.     基本代码:file:///D:/%EF%BC%81%E4%B8%9C%E6%96%B9%E5%BC%82%E9%97%BB%E5%BD%95/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E6%B3%A8%E8%BD%AF%E4%BB%B6/IronRuby.Libraries.DLL
  124. ----------------------------------------
  125. System.Numerics
  126.     程序集版本:4.0.0.0
  127.     Win32 版本:4.0.30319.36415 built by: FX452RTMLDR
  128.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
  129. ----------------------------------------
  130. Anonymously Hosted DynamicMethods Assembly
  131.     程序集版本:0.0.0.0
  132.     Win32 版本:4.0.30319.36440 built by: FX452RTMLDR
  133.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
  134. ----------------------------------------
  135. mscorlib.resources
  136.     程序集版本:4.0.0.0
  137.     Win32 版本:4.0.30319.34209 built by: FX452RTMGDR
  138.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
  139. ----------------------------------------
  140. System.Windows.Forms.resources
  141.     程序集版本:4.0.0.0
  142.     Win32 版本:4.0.30319.34209 built by: FX452RTMGDR
  143.     基本代码:file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
  144. ----------------------------------------
  145.  
  146. ************** JIT 调试 **************
  147. 要启用实时(JIT)调试,
  148. 该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
  149. jitDebugging 值。
  150. 编译应用程序时还必须启用
  151. 调试。
  152.  
  153. 例如:
  154.  
  155. <configuration>
  156.     <system.windows.forms jitDebugging="true" />
  157. </configuration>
  158.  
  159. 启用 JIT 调试后,任何未经处理的异常
  160. 都将被发送到在此计算机上注册的 JIT 调试器,
  161. 而不是由此对话框处理。



回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
8994
在线时间
1233 小时
注册时间
2011-7-8
帖子
1957

开拓者

发表于 2018-6-18 12:47:55 | 显示全部楼层
一直都很想学习类似简单图形界面程序的编写……不过突然想到,如果不用图形界面的话,直接在电脑上安装ruby,用ruby来完成操作也行吧?
比如,data文件夹下的放一个Actors_note.txt,里面放好id,名称和notes,大致格式如下:
  1. 1|阿尔西斯
  2. 具体notes的内容。
  3. 可以多行
  4. 2|帕吉尔
  5. <xml>xml</xml>
复制代码

然后这样也方便进行直观的编辑
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* 基于SAE的服务器 *
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2155
在线时间
843 小时
注册时间
2011-8-16
帖子
243
 楼主| 发表于 2018-6-18 20:16:14 | 显示全部楼层
89444640 发表于 2018-6-18 10:36
非常感谢,笔记本+固态硬盘测试,
把data文件复制到其他地方。
这次不会失去响应了,保存的过程中可以选 ...

可能是数据量过大,导致 IronRuby 处理 Marshal 时出了问题。但具体是什么问题,我也无法判断。或许整个工具都需要推翻重写一遍。
如果对图形界面没有硬性要求,楼上说的那种方法也是可行的,而且没有损坏数据的风险。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
15102
在线时间
1884 小时
注册时间
2007-12-15
帖子
6202
发表于 2018-6-19 07:30:21 | 显示全部楼层
说起来……现在还没有必须用到这个功能的脚本,不急着用,请楼主不用着急,继续完善~
至于ruby……那是个啥- -b能吃吗XD

点评

https://rubyinstaller.org/downloads/ 下那个 ruby2.5.1-1(x64),双击安装选项全部默认就行~  发表于 2018-6-19 10:39
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
324
在线时间
116 小时
注册时间
2011-11-18
帖子
43
发表于 2018-6-30 00:00:37 | 显示全部楼层
谢谢楼主,给你一张好人卡
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2019-1-19 11:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表