LuaImplementation: forms.setproperty now works on int, double and bool properties. Added try catch to avoid crashes with these functions.
This commit is contained in:
parent
c2bc20a729
commit
f173aee3f4
|
@ -513,6 +513,8 @@ namespace BizHawk.MultiClient
|
|||
"addclick",
|
||||
"clearclicks",
|
||||
"gettext",
|
||||
"setproperty",
|
||||
"getproperty",
|
||||
};
|
||||
|
||||
public static string[] BitwiseFunctions = new string[]
|
||||
|
@ -2283,7 +2285,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (form.Handle == ptr)
|
||||
{
|
||||
form.GetType().GetProperty(property.ToString()).SetValue(form, value, null);
|
||||
form.GetType().GetProperty(property.ToString()).SetValue(form, Convert.ChangeType(value, form.GetType().GetProperty(property.ToString()).PropertyType), null);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2291,7 +2293,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (control.Handle == ptr)
|
||||
{
|
||||
control.GetType().GetProperty(property.ToString()).SetValue(control, value, null);
|
||||
control.GetType().GetProperty(property.ToString()).SetValue(control, Convert.ChangeType(value, form.GetType().GetProperty(property.ToString()).PropertyType), null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2334,48 +2336,62 @@ namespace BizHawk.MultiClient
|
|||
|
||||
public string forms_gettext(object handle)
|
||||
{
|
||||
IntPtr ptr = new IntPtr(LuaInt(handle));
|
||||
foreach (LuaWinform form in LuaForms)
|
||||
try
|
||||
{
|
||||
if (form.Handle == ptr)
|
||||
IntPtr ptr = new IntPtr(LuaInt(handle));
|
||||
foreach (LuaWinform form in LuaForms)
|
||||
{
|
||||
return form.Text;
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Control control in form.Controls)
|
||||
if (form.Handle == ptr)
|
||||
{
|
||||
if (control.Handle == ptr)
|
||||
return form.Text;
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Control control in form.Controls)
|
||||
{
|
||||
return control.Text;
|
||||
if (control.Handle == ptr)
|
||||
{
|
||||
return control.Text;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
console_output(ex.Message);
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
public string forms_getproperty(object handle, object property)
|
||||
{
|
||||
IntPtr ptr = new IntPtr(LuaInt(handle));
|
||||
foreach (LuaWinform form in LuaForms)
|
||||
try
|
||||
{
|
||||
if (form.Handle == ptr)
|
||||
IntPtr ptr = new IntPtr(LuaInt(handle));
|
||||
foreach (LuaWinform form in LuaForms)
|
||||
{
|
||||
return form.GetType().GetProperty(property.ToString()).GetValue(form, null).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Control control in form.Controls)
|
||||
if (form.Handle == ptr)
|
||||
{
|
||||
if (control.Handle == ptr)
|
||||
return form.GetType().GetProperty(property.ToString()).GetValue(form, null).ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Control control in form.Controls)
|
||||
{
|
||||
return control.GetType().GetProperty(property.ToString()).GetValue(control, null).ToString();
|
||||
if (control.Handle == ptr)
|
||||
{
|
||||
return control.GetType().GetProperty(property.ToString()).GetValue(control, null).ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
console_output(ex.Message);
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
|
|
@ -133,17 +133,18 @@
|
|||
<data name="openToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVDhPlZNdSNNRGMb/F110ZZEVhVBgeeHNICiiuggp
|
||||
olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdPKMgr7kApFItTUkWZqVhSVYmao5Nev/xyoQ4k88Nyc
|
||||
8z6/93nP4QjCfy6lwc4ltZVso4P/tMyXRcmMHqZ0EeY6jZQVInzuf0e1Tb9Ina3P/tkpLD6XkNg8BJe5
|
||||
u93C+HDVrP4M2ZkcMOOw5tLZ9nxJyJE4HSExBoKkBQhVpTrGhso9zNPfiph0JlB+U01ZcRbmwnRMeWlc
|
||||
08opUCV6QissGsZ+WOY6z4hmuuXglC6pRYBbJSp+fzXNxnaZ66o1s3rkyKHWruJuWRYOcwZ2kxKr8TI3
|
||||
DCkU6+QYNUnuNGWmLEY+5uOK3degoKZcx3SfEvozPfVB3OtNhi4ZvI2nrTIc23U9gtmYwa8eNXzScq8i
|
||||
l6bHWnfRwhHeREJzGFONgYw/CeB9qQSZNNR9FyUGBT87lfQ3plJj1zLTq4COGDegLVo0HmeqKZjx+gOM
|
||||
PNzDYPU2lLF+4jhyN6BIl8pgexK3bRpaXopJuhJEwGloiWDmVSgTLw4xWreXoZrtfK/wp/nKak4E+s6/
|
||||
hDFHTkd9GndsOdCTBq1i3NdHmWgIYvRpAMO1OxlwSPhi2YpT641CuoWzsSfnAfnZiVRZ1Tjvx9GsF+bU
|
||||
pF1BvWolD9JXUZmyDnOiD1cvbCZiYXfXCPrMi+gVZ8hOiiL53DHORwdzKnw/hw/uYt9uCTskfvj7+rBp
|
||||
41rWr/Fig7fX8j/Tsn/fcgx/ARfG3ml6M3rzAAAAAElFTkSuQmCC
|
||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I
|
||||
k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC
|
||||
TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p
|
||||
AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0
|
||||
BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr
|
||||
UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG
|
||||
CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5
|
||||
F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS
|
||||
rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt
|
||||
NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp
|
||||
59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W
|
||||
AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
|
Loading…
Reference in New Issue