[Gambas-user] Working with .so library
Admin
admin at allunix.ru
Tue Jun 25 10:21:04 CEST 2019
Ok, this question I have for a very long time now:
Sometimes I need to recieve a string variable from a library.
Usually it asks me to provide a pointer to a string where it would store
it's output.
Problem is output is usually in WCHAR_T, while the string is always in
UTF-8.
When I provide my strings to a library - it's not a problem, i just use
Conv(MyString, "UTF-8", "WCHAR_T") and it's all ok.
But when I recieve a string from a library I rearly even know the lenght
of the output I expect. But even if I do, that would be a lenght of a
WCAHR_T string, and the size of UTF string would be defferent.
So in most cases if I recieve a string like this:
libfptr_get_param_str(fptr, LIBFPTR_PARAM_MODEL_NAME, VarPtr(KKMmodel),
stringsize)
and then try to
message(Conv(KKMmodel, "WCHAR_T", "UTF-8"))
I will get a "bad string conversion".
And I think it's totally fair, because, ok, I know that the string will
be 18 chars long, but if I make KKMmodel declared as String and 18 chars
long - is it even relevant? It would be 18 UTF8 chars long, which has
nothing to do with the lenght of WCHAR_T string.
So, is there a way to correctly recieve WCHAR_T strings through pointers
in Gambas?
25.06.2019 15:07, Tobias Boege пишет:
> On Tue, 25 Jun 2019, David Silverwood via User wrote:
>>> On Tuesday, June 25, 2019, 09:54:07 AM GMT+2, Benoît Minisini <g4mba5 at gmail.com> wrote:
>>>
>>> Le 25/06/2019 à 05:56, Admin a écrit :
>>>> Ok, answering my own question, it's easier then I thought. Gambas
>>>> actually allows the same enum declaration as C does, I mean I can use
>>>> multiple strings despite it's never mentioned in documentation. So it's
>>>> basically .h file copy-paste process, nothing more.
>>>>
>>> What is not mentioned in http://gambaswiki.org/lang/enumdecl ?
>> i get a 404 error when trying to access that page?
> There's always a /wiki after the .org, which Benoît forgot.
>
More information about the User
mailing list