Any way to use Delphi strings?
I know that LabView can, when calling external libraries, use Pascal string pointers. However, those are limited, is there a way to call an external library using a Delphi string?
FYI: a Pascal string uses one byte for it's length, a Delphi string uses 4 bytes. Since I'm using Delphi for implementing the DLL, using Delphi strings would be way more straightforward than using C strings.
Solved!
Go to Solution.
Kirillenseer wrote:
Thank you, I'll try to go with the handle method, pointer to a Delphi string reference. Still funny that LV string and Delphi string are the exact same beasts, yet can't interoperate seamlessly.
They are not the same! They look the same in terms of the actual byte layout in memory, but the memory management is entirely different. The LabVIEW String is a LabVIEW Handle, an internal memory object managed by the LabVIEW memory manager functions and using a pointer to a pointer to the actual information. Any modification to the string that requires to change its size MUST be performed by calling the according memory manager functions, or a crash is immediately evident.
The Pascal String is a memory area managed by the Delphi runtime library (and maybe, possibly, but likely not documented be implemented under Windows on top of the SysString datatype.) and repreents just a pointer to the data.
If you want to pass in a string to a DLL function that is passed in by reference (VAR keyword) you can get away with configuring it as a LabVIEW String handle. But if the string is passed into the function by value (just the String itself) this won't work at all. And if the function is supposed to return information in the string you can't do it without either a wrapper or some pointer magic implemented in the diagram. This is because if you configure it as a LabVIEW Handle, LabVIEW expects it to be allocated by its memory manager functions, but Delphi will do it with its Delphi runtime functions and as soon as LabVIEW attempts to free that string, it will crash, since the memory loacation is not allocated from the heap managed by the LabVIEW memory manager.
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions
Similar Messages
-
I'm using TestStand 2.0/Labview 6i to do a string value test. Is there any way to use a string variable in the edit string value test instead of an actual string?? This forces you to hard code a string to test against.
Hi ART,
You can also use the LimitLoader step to load your string into to step similar to the Numeric Step type.
There should be an example of this in the Resource Library | TestStand
Regards
Ray Farmer
Regards
Ray Farmer -
Any way to use cursor values inside other cursor by bulk collect?
hi,
Is there any way to use cursor get_tables value insdide loop get column if i am using bulk collect in both cursors?
I tried a lot but i am nt able to do it.kindly help...
create or replace procedure MULTIPLE_CURSORS_PROC is
v_owner varchar2(40);
v_table_name varchar2(40);
v_column_name varchar2(100);
cursor get_tables is
select distinct tbl.owner, tbl.table_name
from all_tables tbl
where tbl.owner = 'SYSTEM';
cursor get_columns is
select distinct col.column_name
from all_tab_columns col
where col.owner = v_owner
and col.table_name = v_table_name;
begin
open get_tables;
loop
fetch get_tables into v_owner, v_table_name;
open get_columns;
loop
fetch get_columns into v_column_name;
end loop;
close get_columns;
end loop;
close get_tables;
end ;hi there
Refer this
CREATE OR REPLACE PROCEDURE MULTIPLE_CURSORS_PROC
IS
TYPE scol IS VARRAY (10000) OF VARCHAR2 (32767);
v_table_name scol;
v_column_name scol;
TYPE curtyp IS REF CURSOR;
get_columns curtyp;
CURSOR get_tables
IS
SELECT DISTINCT tbl.table_name
FROM all_tables tbl
WHERE tbl.owner = 'SYSTEM';
BEGIN
OPEN get_tables;
LOOP
FETCH get_tables BULK COLLECT INTO v_table_name;
FOR indx IN v_table_name.FIRST .. v_table_name.LAST
LOOP
SELECT DISTINCT col.column_name
BULK COLLECT
INTO v_column_name
FROM all_tab_columns col
WHERE col.table_name = v_table_name (indx);
FOR ind IN v_column_name.FIRST .. v_column_name.LAST
LOOP
DBMS_OUTPUT.put_line (v_column_name (ind));
END LOOP;
END LOOP;
EXIT WHEN get_tables%NOTFOUND;
END LOOP;
CLOSE get_tables;
END MULTIPLE_CURSORS_PROC;regards
Hitesh -
Any way to use filter to exclude tables in navagation pane?
Is there any way to use filter to exclude a set of tables from the table list in the navagation pane? I have a number of tables (15+) starting with the same prefix eg. AB123 that I would like eliminate from the list. They sort right to the top and I always have to scroll down, and go through the show more dialog to see the entire list.
I am sure I'm missing something, but not sure what. Help Center has nothing to offer.
Thanks
GlennThis has been mentioned on the forum before - basically the need for more elaborate ways to filter (multiple conditions as well as 'not like'). It is on our list for future consideration, meaning post-production.
-- Sharon
Message was edited by:
sbkenned -
Is there any way to use -useLegacyAOT option in FlashBuilder 4.6?
I need to build my ipa with old version of Engine because i have some problems about loading images from outside. Since with Air 15 it is default engine, and i cannot quit Air 15 because of the iTunes specs. I cannot add -useLegacyAOT=yes to compiler options on Adobe Flash Builder 4.6 because it seems that it can be added at FB4.7.
So is there any way to add this options when i am using FB4.6
Thanks in advance.DeepakJ wrote:
Hi,
Is there any way to use a control break on Dept column in a SQL query to have a Output-2 instead of Output-1.
Is there any way to modify the SQL query.
SQL
select dept, loc, count(*)
from dept
group by dept, locOutput-1
Dept Loc Count(*)
10 AA 1
10 BB 2
10 CC 2
20 AA 2
20 BB 2Output-2
Dept Loc Count(*)
10 AA 1
BB 2
CC 2
20 AA 2
BB 2
Yes, using the <tt>lag</tt> analytic function and specified ordering of the data:
select
nullif(d.deptno, lag(d.deptno) over (order by d.deptno, d.loc, e.mgr nulls first)) deptno
, nullif(d.loc, lag(d.loc) over (order by d.deptno, d.loc, e.mgr nulls first)) loc
, e.mgr
, count(*) n
from
dept d
join emp e
on d.deptno = e.deptno
group by
d.deptno
, d.loc
, e.mgr
order by
d.deptno
, d.loc
, e.mgr nulls first;
DEPTNO LOC MGR N
10 NEW YORK 1
7782 1
7839 1
20 DALLAS 7566 2
7788 1
7839 1
30 CHICAGO 7698 4
7839 1
40 BOSTON 7698 2
7902 1 -
Is there any way to use Control Break in a SQL Query
Hi,
Is there any way to use a control break on Dept column in a SQL query to have a Output-2 instead of Output-1.
Is there any way to modify the SQL query.
SQL
select dept, loc, count(*)
from dept
group by dept, locOutput-1
Dept Loc Count(*)
10 AA 1
10 BB 2
10 CC 2
20 AA 2
20 BB 2Output-2
Dept Loc Count(*)
10 AA 1
BB 2
CC 2
20 AA 2
BB 2Thanks,
DeepakDeepakJ wrote:
Hi,
Is there any way to use a control break on Dept column in a SQL query to have a Output-2 instead of Output-1.
Is there any way to modify the SQL query.
SQL
select dept, loc, count(*)
from dept
group by dept, locOutput-1
Dept Loc Count(*)
10 AA 1
10 BB 2
10 CC 2
20 AA 2
20 BB 2Output-2
Dept Loc Count(*)
10 AA 1
BB 2
CC 2
20 AA 2
BB 2
Yes, using the <tt>lag</tt> analytic function and specified ordering of the data:
select
nullif(d.deptno, lag(d.deptno) over (order by d.deptno, d.loc, e.mgr nulls first)) deptno
, nullif(d.loc, lag(d.loc) over (order by d.deptno, d.loc, e.mgr nulls first)) loc
, e.mgr
, count(*) n
from
dept d
join emp e
on d.deptno = e.deptno
group by
d.deptno
, d.loc
, e.mgr
order by
d.deptno
, d.loc
, e.mgr nulls first;
DEPTNO LOC MGR N
10 NEW YORK 1
7782 1
7839 1
20 DALLAS 7566 2
7788 1
7839 1
30 CHICAGO 7698 4
7839 1
40 BOSTON 7698 2
7902 1 -
Time Machine Beautiful Background - any way to use it apart from TM
The picture of moving universe as the background of TM processes is beautiful. Is there any way to use it apart from TM (screen saver, desktop image) ?
Not easily. It's not a single display. The "moving parts" are separate.
The basic background is at:
/System/Library/PrivateFrameworks/Backup.framework/Versions/A/Resources/vortex.p ng
You could select and right-click it, and select it as your desktop picture, but it won't move.
Or display it with Preview, save it as a jpg, import it into iPhoto, make an album containing it, then select the album as your screen saver. -
Any way to use a quick and dirty icon like cLabel in the quick tools toolbar?
I am a javascript cut-and-paster with ability to cobble things together.
In previous versions of Acrobat, I had tools that were added to the toolbar using the technique shown in this script:
app.addToolButton({cName: "MyFlattenButton",
cLabel: "Flatten",
cEnable: "event.rc = (app.doc != null);",
cExec: "flattenPages();"
That would create a toolbar button with the "icon" that read "Flatten" which is all that I needed. I could click on it and it would flatten all pages in the document.
I used this to create several different tools, all with different names and cLabels.
This script still works in Acrobat XI (it adds the tool to the add-on tools list, and then I can add it from there to the quick tools toolbar). The cLabel names show up in the add-on tools list, but not in the quick tools toolbar. In the toolbar they all use the same generic icon (but they all work correctly).
From reading in this forum I see that there is a way to create a custom icon but it does not look easy. Is there any simple way to just have text appear as the icon as I used to do for earlier versions of Acrobat?
Thanks.One further question...
I found a code snippet somewhere online that attempted to deal with this issue. That led me to this (failed) solution:
this.importIcon("myIconFlat", "/D/J/CAD Standards/Stamps/Acrobat tools/flatten.jpg", 0);
var flatIcon = util.iconStreamFromIcon(this.getIcon("myIconFlat"));
app.addToolButton({cName: "MyFlattenButton",
cLabel: "Flatten",
oIcon: flatIcon,
cEnable: "event.rc = (app.doc != null);",
cExec: "flattenPages();"
The problem there is that importIcon is not allowed from a folder-level javascript, apparently. Would there be any way to use the importIcon part of this from the console and then cut and paste some output into the rest of the script? Just looking for a way to get the icon into my script. -
Is there any way to use a file transfer protocol to upload files to icloud?
Is there any way to use a file transfer protocol to upload files to icloud?
Unfortunately, no.
You will need a 3rd party web host to upload your websites to. Depending on the version of iWeb you are using you have a couple of publishing options:
iWeb ’09 (3.0.4) you can publish to an FTP Server or a local folder. ( With the built in FTP in iWeb you will end up with an address like “www.YourDomain.com/sitename/Home.html )
iWeb ’08 you can publish your website to a local folder
Basically all Web Hosting companies are iWeb-compatible.
If you’re looking for a good hosting I would recommend IX Web Hosting I have been using them to host my own websites for several years now and that their customer support is awesome too.
http://jeffnitschke.com/IXWebHosting.html
http://jeffnitschke.com/wordpress/2012/06/how-do-i-move-my-mobileme-site-ix-web- hosting-blog/
"I may receive some form of compensation from my recommendation or link." -
Is there any way to use a MacBook Pro as a router to set up a wireless connection for XBOX live.
Mac OS X 10.6 Help: Sharing your Internet connection
-
Is there any way to use a aunetreceive for a track within GarageBand?
Is there any way to use a aunetreceive for a track within GarageBand?
I have an application, Soundboard, which sends audio via the aunetsend plugin. I'd like to manage the output of this application within Garageband as a track. Is there any possible way to do this?
ThanksAlas, no, not in VBA.
Regards, Hans Vogelaar (http://www.eileenslounge.com) -
Is there any way to use a For Each Loop for each property of an User Defined Type?
Is there any way to use a For Each Loop for each property of an User Defined Type? That would be very handy!
Jorge Barbi Martins ([email protected])Alas, no, not in VBA.
Regards, Hans Vogelaar (http://www.eileenslounge.com) -
Is there any way to use Internet Explorer on a Mac Book Pro? I have one company that I do business with that only uses Internet Explorer
Internet Explorer is not available for Mac.
But you can make Safari pretend to be Internet Explorer in some cases.
Safari > Preference > Advanced
Checkmark the box for "Show Develop menu in menu bar".
"Develop" menu will appear in the Safari menu bar.
Click Develop, move mouse down to "User Agent".
Select Internet Explorer from popup on the rightside.
After using Internet Explorer, revert back to Safari, doing the same routine. -
Is there any way to use embedded commands in text to create pauses when using text to speech in iOS 5? You can do it in OS X by typing [[slnc 2000]] to get a two-second pause.
Thanks for the reply Russ.
Yes, I've considered adding titles and/or generators in the FCPX storyline, but this creates a need to render the entire timeline. As I'm juggling library locations and hard drive spaces I just didn't want to add a new render that will occupy a lot of space. It's also a bit of visual clultter for me, so my goal is to find the best workflow for adding this stuff on or after export. -
Is there any way to use iTunes to sync a Zen NX
As the subject says, is there any way to use iTunes to sync or transfer tracks to a Jukebox Zen NX?
Thanks,
WintiTunes will only work with Apple players.
Maybe you are looking for
-
Can you have multiple iTunes accounts associated with one email address?
My current iTunes account is associated with my company email address that I am attempting to change to my personal email address that I share with my husband.The problem is his iTunes account is also associated with this email address. Is there a wa
-
Download problem with Acrobat XI Pro for MAC
I purchased Acrobat XI full for MAC download, but when I click download I keep getting plug-in failure. Using Safari, already tried downloading and installing the latest version of flash player and that did not help.
-
Hi all! We have Adobe LC ES (version 8.2) over JBoss. We are trying to invoke the FormDataIntegrationService Service, which we see that is accessible on the server and operating (as we see in the management app and the WSDL is accessible). In the sam
-
Reg: result_cache in parallel -
Hi Experts, I have few concern(s) regarding the Result Cache (introduced in 11gR2) and the /*+ RESULT_CACHE */ hint. Refering to - Doc 12.1 - Tuning the Result Cache Murali Vallath - Using Oracle Database 11g Release 2 Result Cache in an Oracle RAC E
-
EJB-Ref rewriting in IAS-Console
Hi, I have an EJB A from wich i want to call another EJB B. So I put an EJB Reference in ejb.jar and orion.xml from EJB A. The EJB B I want to call is in another Application. So I want to set the jndi- location in the settings on the Application Serv