GetDataInstance and GetParameter in TagData Read
-
On 16/09/2016 at 00:47, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R17
Platform: Windows ;
Language(s) : C++ ;---------
Hello.I have a filename parameter, which I try to retrieve in Read method (TagData plugin).
Here is the code using GetDataInstance and GetParameter
//1 BaseContainer* tag_data = tag->GetDataInstance(); String filename = tag_data->GetFilename(FILENAME_PARAM).GetString(); //2 GeData ge_data; tag->GetParameter(FILENAME_PARAM, ge_data, DESCFLAGS_GET_PARAM_GET); String filename = ge_data.GetFilename().GetString();
The first filename gets the value correctly, while the second filename string appears empty.
Why GetParameter doesn't return the value correctly ?Thank you.
-
On 16/09/2016 at 02:07, xxxxxxxx wrote:
Hi,
you are using DESCFLAGS_GET_PARAM_GET, which is the flag for saying, the parameter got read successfully. Can you please try, if the problem persists, if you use DESCFLAGS_GET_0 instead?
-
On 16/09/2016 at 05:44, xxxxxxxx wrote:
Hello.
Using DESCFLAGS_GET_0 returns the correct value. So I assume that whenever I want to read a parameter, I have to use DESCFLAGS_GET_0 right ?
When am I supposed to use DESCFLAGS_GET_PARAM_GET ?Thank you for your time.
-
On 16/09/2016 at 05:50, xxxxxxxx wrote:
Hi,
DESCFLAGS_GET_PARAM_GET is used inside GetDParameter() to mark the successful retrieval of the parameter. You don't pass it into GetParameter().
-
On 16/09/2016 at 06:16, xxxxxxxx wrote:
Hello.
I didn't know that. I assume SET_PARAM_SET does the same right (in SetDParameter)?
thnx.
-
On 16/09/2016 at 08:56, xxxxxxxx wrote:
Yes. Sorry, I got disturbed, while posting. I actually wanted to mention this in my post.
-
On 16/09/2016 at 09:01, xxxxxxxx wrote:
Even worse, I forgot to post the links to our documentation.
Manuals on GetDParameter() and SetDParameter() and here the API reference: GetDParameter() and SetDParameter().