LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

error "extfuncdlg.cpp" line 1693 when config. Call-Ext-Lib-VI

When selecting the function name for configuring the "Call external library"-VI concerning a dll of a third party, LabVIEW gives the internal error "extfuncdlg.cpp", line 1693 and shuts down LabVIEW. Other functions belonging to the same dll don't show this problem, as long as they refer to the short, bool, float or void data type but they do in case of VARIANT type.
LabVIEW 6.0; Windows XP.
0 Kudos
Message 1 of 5
(2,497 Views)
xiaoge wrote:

> When selecting the function name for configuring the "Call external
> library"-VI concerning a dll of a third party, LabVIEW gives the
> internal error "extfuncdlg.cpp", line 1693 and shuts down LabVIEW.
> Other functions belonging to the same dll don't show this problem, as
> long as they refer to the short, bool, float or void data type but
> they do in case of VARIANT type.
> LabVIEW 6.0; Windows XP.

Hmm, the LabVIEW Variant datatype is VERY unlikely to be compatible to
anything an external DLL might expect. Especially in 6.0 I would be very
wary to try something like that as variants were brand new then and
actually changed in their internal implementation a bit over the course
of new LabVIEW versions since. Also Variant conversion (to oth
er strict
types) in LabVIEW 6.0 were a bit of shaky sometimes.

BTW: I hope you use actually 6.0.2 and not 6.0 as that fixed some not so
nice bugs.

Rolf Kalbermatter
Rolf Kalbermatter
My Blog
0 Kudos
Message 2 of 5
(2,497 Views)
Dear Rolf,

thank you for your answer. The dll is created to accept VARIANT data type and should manage them. The third party's programmer told me he had tested the library under LabVIEW.
Another problem occurs with the other functions of the same dll, which return values of short, bool, float or void data type. The "Call external library"-VI changes its apperance providing the adequate connections for the configuered function, but LV tells me that the function is not found. Isn't it a contradiction?

I have installed LV 6.0.2 including subsequent mass compilation. But that didn't help at all. As another unbeloved result, the VIs "General Error Handler", "Simple Error Handler" and "Open/Create/Replace File" could not found anymore.

Do you have some o
ther advices?
Best regards,
Xiaoge
0 Kudos
Message 3 of 5
(2,497 Views)
xiaoge wrote:
> Dear Rolf,
>
> thank you for your answer. The dll is created to accept VARIANT data
> type and should manage them. The third party's programmer told me he
> had tested the library under LabVIEW.

I still don't believe that LabVIEWs Call Library Node can deal with
Windows variants. The Active X Nodes in LabVIEW do know how to deal with
variants but the LabVIEW diagram variants are NOT the same as Windows
variants.

> Another problem occurs with the other functions of the same dll, which
> return values of short, bool, float or void data type. The "Call
> external library"-VI changes its apperance providing the adequate
> connections for the configuered function, but LV tells me that the
> function is not found. Isn't it a contrad
iction?

How do you mean it changes its appearance. You have to tell it what
function parameters it does have in the configuration dialog. I'm not
aware of an auto-function-prototype detection in DLLs as Windows DLLs do
not really have a way of telling a caller what prototype a function has
and even if NI added something like that to LabVIEW I would be utterly
surprised if it would be in LabVIEW 6.0 already.

> I have installed LV 6.0.2 including subsequent mass compilation. But
> that didn't help at all. As another unbeloved result, the VIs "General
> Error Handler", "Simple Error Handler" and "Open/Create/Replace File"
> could not found anymore.

Your installation seems getting hosed more and more. A reinstallation
seems to be in its place.

Rolf Kalbermatter
Rolf Kalbermatter
My Blog
0 Kudos
Message 4 of 5
(2,497 Views)
Dear Rolf,

many thanks for your reply! I have already de- and reinstalled LV inclusive 6.0.2 Update with reproducible behaviour. The second time, I have skipped the mass compilation after update and the three mentioned VIs didn't make troubles anymore.
But the problem with dll remains the same. There is a Visual Basic skript file of the third party that delivered the dll, but this program doesn't work, too. It should provide a basic demonstration of most functions used to access the dll, but the included command

=> Set SpirComm = CreateObject ("SpirIO.Comm")

already results in an error:

=> Erlaubnis verweigert.: 'CreateObject'
(translation: permission denied.: 'CreateObject')

I will contact the third party for help and comm
ents. I will keep you informed. Thank you very much again. I am still confident of riding the mess out...

Best regards,
xiaoge
0 Kudos
Message 5 of 5
(2,497 Views)