Page 1 of 3
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 10:12 am
by info@task.si
Hi all !
Env. Xsharp 2.7 public
As I understand _Val(string) Function returns obj. In Core dialect there is no truncate function (like ConvertToInt32() in C#).
So, to convert string to usual and later to integer. we must use Val() function from XSharp.RT.
My question are:
a) Is there anything undocumented in Core.dll ?
b) What is impact of using two (or more) X# dll on final executable. Is final code "overweighted". My question explicitly adresses problem that till this moment a Val() function is the only funct. that I need it from XSharp.RT.dll ?
TIA Andrej
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 10:48 am
by Chris
Hi Andrej,
Everything defined in the framework that you can use in c# can also be used by X#. This works fine:
? Convert.ToInt32("123")
same with other similar parsing methods like Int32.Parse(), System.Double.Parse() etc.
So you can simply use those, instead of the _Val() function, which was designed to translate numeric data from dbf fields, and also supports the special quirks Visual Objects has in this area of conversions, which is something I guess you do not need.
So no reason for you to use the runtime dlls, but to answer your question, if the dialect you have selected for your project is "Core", then simply referencing the runtime dlls does not have an impact on your executable. In fact, the dlls are not even loaded at runtime in memory at all, until you actually do use something (like a function) from those dlls.
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 1:20 pm
by info@task.si
Hi and thank you Chris !
I can't find Convert.ToInt32(string) in the XSharp Runtime Documentation !
Using Convert.ToInt32(string) in my program I get XS0029 error :
error XS0029: Cannot implicitly convert type 'int' to 'string' 524,5 Start.prg SysKey:.ctor
note: SysKey is my class where I read data from my MSSql Table using DataAdapter
What is missed ?
I understand your answer about loading dll. My problem is that I use X# as a project in my VS 2019 Blazor solution. When the solution is compiling I can see that both Xsharp libraries are "touched". So it worries me a little if everything will be OK (in real world or in different OS).
Andrej
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 2:03 pm
by wriedmann
Hi Andrej,
of course this method is not documented in the X# documentation as it is a method of the .NET Framework.
You should look in the Microsoft documentation for it.
You will need to include the "System" library in your application.
Wolfgang
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 2:33 pm
by Chris
Hi Andrej,
This error message does not seem to be related to Convert.ToInt32() itself, but some other part of the code. What is the exact line of code for which the compiler reports this error?
Regarding the libraries, what do you mean with "touched"?
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 3:11 pm
by info@task.si
Thank you Wolfgang and Chris !
Documentation: .NET (now I understand)
using Convert.ToInt32 --> no errors more; mistake in my variable declaration
Chris: During compilation in VS in the footer line you may notize different phases, stages of compilation. And off course because XSharp project (source code) is a part of a final solution , I can see also XSharp.Core dll for a moment that is "touched".
TIA Andrej
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 4:40 pm
by wriedmann
Hi Andrej,
I have many projects in X# that don't use X# runtime DLLs at all - partly their were written before the X# runtime was ready.
Therefore they don't use any X# DLL, and only .NET Framework functionality.
it is like working with C# but using my favorite language - clear and easy to understand, without counting of parentheses and semicolons.
Most of them are WPF applications, some Windows services or console programs and some Windows Forms applications.
Wolfgang
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 5:12 pm
by info@task.si
Hi Wolfgang !
Thank you for this information. Till now I was not thinking in this way at all (without X# dll).
As you probably notize I am a "half year" newbie in all technologies (Blazor, C#, HTML, CSS, X#, .NET, web) so it very difficult to understand all things.
Did you try anything in Blazor ? I can show you and to others my first real app written in this new MS tool. Off course aprox. 40 % of code is in X#. X# and Blazor just opened me a total new world.
Andrej
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 5:36 pm
by wriedmann
Hi Andrej,
X# is basically a C# compiler that understands X# syntax and has many additions to make VO/VFP/XB++ also compile.
The Core dialect does not knows the Xbase datatypes, and it was the first available dialect (I had the first small application in production after about a year of the first compiler release).
Regarding Blazor: unfortunately I'm more than busy with my desktop applications, both in X# and in VO, and therefore I have no time for web applications. This is the area of my wife and another programmer in my company - they do all the web work with PHP, MySQL and PostgreSQL (and of course all the CSS and Javascript that is needed).
Wolfgang
_Val() function xsharp.core
Posted: Mon Feb 22, 2021 6:30 pm
by Frank Müßner
Hi Andrej,
i would like to see the Blazor code. i Try to create a web program with Blazor/X#.
Regards Frank