Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

problem with obtaining string data from custom data source dll

Hello,

I'm currently working on custom data source dll for QlickView. for now it points to single data table with string values. Using edit script dialog I can connect to it, get correct list of fields and datatypes, and full preview of data contents. In short - using EditScript->CustomDataSource->Select dialog options i have full access to all correct data from my source. But when I select fields within main qlikview window only first row from the table is being shown. Reload data option doesn't help.

I have simple logger inserted into my dll and it logs all calls from QlikView to dll interface. Log created during data reload shows that Qlick view requests all data from dll and gets everything, but i can't access more then first row outside EditScript Dialog.

Dll returns all data as QV_ASCII fields. Currently return data is assigned exactly as in CustomDataSource.pdf example showing usage of Result_FetchField method (with one change - i corrected a spelling mistake in call to Utf8StringAssign function which has one "s" to many in pdf:) ).

The funny thing is tah when i set data return to QV_INTEGER and pass doubles to QlickView from dll with no other changes in dll code all data rows become accessible.

Any help would be welcome:)

2 Replies
Not applicable
Author

Hi,

I'm afraid this isn't help, I'm the one who needs help!

I'm trying to build the DLL (using the sample provided in QlikView SDK 'Custom Data Source'). I've been through the CustomDataSource.pdf file and I still don't know how and where I have to change the code to point it to the webservice I need to get the data from.

Can you help me with this?

Thank you very much,

Marina

yblake
Partner - Creator II
Partner - Creator II

To make QlikView happy with QV_ASCII field types, Result_FetchField method should return a special NULL_FLOAT constant in the d parameter.


NULL_FLOAT is defined as :
const double NULL_FLOAT = (-1E300);