Nice, Tutorial but this didn't work for me after I changed the sql mode it won't let me start the server now.... It says
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 3 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 2 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 1 user: 'root'
Also, I'm having some issues with my PHPRetro when somebody register's it doesn't save their account in the Database... And I can't seem to start my HoloGraph...
This what I get when I try starting my Emulator!
View attachment 136779View attachment 136780
Thanks,
Matthew
For the first problem, perhaps this helps:
You must be registered to see links
If it doesn't, just backup your database and reinstall MySQL completly, but select to disable Strict Mode when installing...
Just had a look at Holograph and the funny thing is, the column minrank is a integer and not a boolean, so I am really confused what they are trying to do by converting a Integer into an Boolean and then into a Byte?!
(EDIT1: Just looked it up, it's a tinyint, so it's probably the MySQL equivalent of an boolean, but I don't know how the required rank is being set???)
(Perhaps it's just the info that THERE IS a minrank, but not which???)
So I just had a look at the MSDN and found this:
Holograph was originally compiled against a .NET Framework <= 3.5, and until 3.5 the bool.parse function did the following:
If the String is equivalent to the String "true" then the function returned true, else false.
Since .NET 4 it returns true if the String is equals "true" and false if the string is equals "false".
But if the string is neither "true" nor "false" the function just fails and throws an exception.
So just replacing
Code:
objPage.minRank = Convert.ToByte(bool.Parse(pageData[1]));
(line 73 in Source/Managers/catalogueManager.cs at my version)
with
Code:
objPage.minRank = Convert.ToByte((pageData[1] == "1"));
should do the trick
EDIT2: Just found out what they are doing and this leads to the fact, that my upper solution is wrong.
The devlopers of Holograph tread the tinyint as a (U)INT8, which is equivalent to exactly one byte...
Going to dig further to find a solution...
EDIT3:
Found it, and it was quite easy, but I can't test right now, as I haven't got any dcr's anymore...
You will have to replace
Code:
objPage.minRank = Convert.ToByte(bool.Parse(pageData[1]));
(line 73 in Source/Managers/catalogueManager.cs at my version)
with
Code:
objPage.minRank = Convert.ToByte( Int32.Parse(pageData[1]));
Which is quite funny, because now we're parsing a String into a Int32 and from there back into a UInt8/byte