Dynamic calls from executable
Hi all,
I used to have LabVIEW application, as executable, which does dynamic calls to any VI. Until now it was done and built with LV2009 and worked fine as long as the vi.lib folder was copied to same of folder than the executable (this was needed for dependencies).
I've now moved to LV2012 and my application does not work anymore. It seems that dynamically loading any VI in vi.lib which calls an LLB is not possible and leads to an error. Is this known ? Is it a bug or a new limitation in LV2012 ?
Thanks,
Alex
Here is how to reproduce this issue :
First, open the attached GetVIDependencies.vi in the LV2012 development environment. In the "VI Patch" field, enter the path of the attached "Test.vi" and then execute the VI.
You should get 38 found dependencies and 0 missing. Then do the same with the exe version of GetVIDependencies. You should get 1 dependency which is missing. This is normal because the runtime does not know where <vilib> is placed. If you place the exe in the LabVIEW.exe directory (where vilib stands), you will get the same result.
Then, if you have LV2009, try the same with the 2009 executable version and "Test_LV2009.vi". It will work as soon as you place the executable in the LabVIEW.exe (2009) folder, no matter where "Test_LV2009.vi" is placed.
Attachments:
GetVIDependencies.vi 24 KB
Test.vi 7 KB
GetVIDependencies_LV2009.vi 23 KB
Similar Messages
-
How to edit a program dynamically called from another program
Hi all,
Can anyone help me in coding for a program which call's another
report dynamically from selection screen(for instance z_dynam_called)
and retreive the whole content of the dynamically called program(z_dynam_called)
into an internal table and replace the contents of the internal table with some new code and put it back in z_dynam_called and save it.
Thanks in advance.
Needful will be rewarded with pointsHi,
Follow this:
1) U can pass data from one program to another in a single login using SAP memory......
2) u can create a DBtable update dat table using ur first pgm and fetch from second program.....
3) U can pass the report output using EXPORT TO MEMORY addition and get it back using IMPORT FROM MEMORY..........
Eg:
Export the selected rows to the next program
EXPORT final TO MEMORY ID 'ABC'.
CALL TRANSACTION 'XXX'.
XXX is the tcode for the other program where u want to import the values.
In the second program
INITIALIZATION.
IMPORT the internal table from the first program
IMPORT final FROM MEMORY ID 'ABC'.
Thanks and Regards,
Reward If Helpful -
Dynamically calling sequences with different prototypes
Hi,
Is there a way of dynamically calling from one sequence call, two sequences with different prototypes?
Thanks,
krsI know that this is not really an answer to your question, but could you write some sort of wrapper to the different sequences that has a common interface and call it?
Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
DISTek Integration, Inc. - NI Alliance Member
mailto:[email protected] -
Here's the problem. Dynamically called VI becomes broken inside an executable in debug executable mode Error 1003 is occuring from "Open VI Reference" Block. The computer has all of the necessary drivers, NI-VISA and NI-DAQmx. This executable is a new release of software that currently works on the PC in question. I can using NI-VISA Remote Server control the instruments from my PC using the executable. But when I put the executable on the PC I am getting this error. The only way I have been able to get this to work properly is to build the executable from the console I believe the project was created in, note that the project file has been moved to a network drive and it still works. All of the stations I have opened the project in show the VI that is being called is runnable. I've tried building the executable from the console I am deploying to and the same thing happens.
I am honestly at a loss for ideas why this is occuring. Is this something about the way LabView works internally that may be causing this problem?
I have trolled this forum for idea's and none have made sense to me.
Any input would be greatly appreciated.
-NateTwo ideas:
Mass compile the project to ensure all linkages are ironed out
Include the dynamically launched VI's into the "Always Included" section of the build spec
Report back on if either of these actions solves your problem.
a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;} -
HR_INFOTYPE_OPERATION not working when called from Dynamic action
Hi ,
Senario : I would like to execute a form from dynamic action which
creates a record in 0015 (Additional payment IT) .
I have writen the code as shown below am using FM HR_INFOTYPE_OPERATION
. When i execute the program from se38 it is creating a record, however it is
not created when it is called from dynamic action..when i debugged the code in
inside the FM HR_INFOTYPE_OPERATION there is a FM HR_MAINTAIN_MASTERDATA where
they are using call dialog (statement) and
sy-oncom = 'N' when called from Dynamic action and
sy-oncom = 'S' when called executed directly.
I tried to change the sy-oncom to S while run from Dynamic action it created
the record.
So Can anyone explain me abt sy-oncom and how can i resolve the issue..
code..
REPORT ZHRPYENH01 .
perFORM TERMIATION_9000.
INCLUDE DBPNPMAC.
FORM Termiation_9000 *
FORM TERMIATION_9000.
INFOTYPES : 0015.
*data : i .
*i ='c'.
*break-point.
*message i000(000) with i.
TABLES : PRELP.
DATA : P9000 TYPE PA9000." with header line.
DATA : P0000 TYPE STANDARD TABLE OF P0000 WITH HEADER LINE.
DATA : P0015 TYPE STANDARD TABLE OF P0015 WITH HEADER LINE.
DATA : HIRE_DATE LIKE SY-DATUM,
TERM_DATE LIKE SY-DATUM.
DATA : MOLGA LIKE T500L-MOLGA VALUE '25',
SEQNR LIKE PC261-SEQNR.
DATA : RGDIR TYPE STANDARD TABLE OF PC261 WITH HEADER LINE.
DATA : ACTUAL_PERIOD LIKE PA9000-RETENTION.
DATA : PNP-SW-FOUND TYPE SY-SUBRC ,
PNP-SY-TABIX TYPE SY-TABIX.
DATA : TER_PERNR LIKE PA0001-PERNR.
DATA : REF_PERNR LIKE PA0001-PERNR.
data : key type BAPIPAKEY.
data : payed_amount type p0015-BETRG.
data : future_payment_amount type p0015-BETRG.
data : p0002 like pa0002.
types : begin of t_deduction ,
deducation_date like p0015-begda,
future_payment_amount type p0015-BETRG.
types : end of t_deduction.
data : future_deduction type standard table of t_deduction with
*header line.
data : future_deduction type t_deduction .
data : RETURN type BAPIRETURN1.
*data : deduction_p0015 like standard table of p0015 with header line.
data : deduction_p0015 like p0015 .
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
****Prepare 0015 data for deduction
*deduction for payed amount
clear deduction_p0015.
*refresh deduction_p0015.
deduction_p0015-pernr = REF_PERNR.
*deduction_p0015-pernr = TER_PERNR.
deduction_p0015-lgart = 'M120'.
deduction_p0015-begda = sy-datum + 1 .
deduction_p0015-endda = sy-datum + 1 .
deduction_p0015-BETRG = payed_amount.
deduction_p0015-WAERS = 'SGD'.
deduction_p0015-ZUORD = TER_PERNR.
*append deduction_p0015.
**deduction for future payment amount
*loop at future_deduction.
*clear deduction_p0015.
*deduction_p0015-pernr = REF_PERNR.
**deduction_p0015-pernr = TER_PERNR.
*deduction_p0015-lgart = 'M120'.
*deduction_p0015-begda = FUTURE_DEDUCTION-DEDUCATION_DATE.
*deduction_p0015-endda = FUTURE_DEDUCTION-DEDUCATION_DATE.
*deduction_p0015-BETRG = future_deduction-future_payment_amount.
*deduction_p0015-WAERS = 'SGD'.
*deduction_p0015-ZUORD = TER_PERNR.
*append deduction_p0015.
*endloop.
Create a deduction wage type in 0015 for the employee
break-point.
CLEAR RETURN.
CALL FUNCTION 'BAPI_EMPLOYEET_ENQUEUE'
EXPORTING
NUMBER = REF_PERNR
VALIDITYBEGIN = '18000101'
IMPORTING
RETURN = return
if not return is initial.
message E000(000) with
'Referred Employee could not be locked for referal payment deducation,
please try after some time'.
endif.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = '0015'
NUMBER = REF_PERNR
SUBTYPE = 'M120'
OBJECTID =
LOCKINDICATOR =
VALIDITYEND = SY-DATUM
VALIDITYBEGIN = SY-DATUM
RECORDNUMBER =
RECORD = deduction_p0015
OPERATION = 'COPY'
TCLAS = 'A'
DIALOG_MODE = '2'
NOCOMMIT =
VIEW_IDENTIFIER =
SECONDARY_RECORD =
IMPORTING
RETURN = return
KEY = key
break-point.
COMMIT WORK.
if not return is initial.
*return-TYPE
*ID
*NUMBER
*MESSAGE
message I000(000) with return-MESSAGE.
endif.
CALL FUNCTION 'BAPI_EMPLOYEET_DEQUEUE'
EXPORTING
NUMBER = REF_PERNR
VALIDITYBEGIN = '18000101'
IMPORTING
RETURN = return
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
Thanks and regards
-Senthil Bala
Message was edited by: senthil balaHi Senthil
Why at all U want a subroutine to create a record in IT0015 through Dynamic action.There are some standard codes available to update infotypes.
Let me give U an example
14 9CON BETRG 4 2 I INS,0015 This will create a record in IT0015 when IT0014 is updated with Wagetype 9CON
14 9CON BETRG 4 3 W P0015-LGART='5400' Set wagetype for IT0015(Here U can use a subroutine call to set the wagetype)
14 9CON BETRG 4 4 W P0015-BETRG=P0014-BETRG set amount for IT0015(Here U can use a subroutine call to get the amount)
14 9CON BETRG 4 5 W P0015-BEGDA=P0014-ENDDA set the dates(Here U can use a subroutine call to set the dates)
Hope this will help U.
Please award points if helpful -
How to make a dynamic function call from within a package procedure
Hi:
I need to call a function dynamically (name and parameters determined at run time, but return value is known:always an integer). I can build the call and place it in a dynamic sql using dbms_sql. But the function is inside a package and is not public.
So, if I issue:
dbms_sql.parse( cur,'SELECT '||call||' FROM dual', dbms_sql.v7 )
where call is "DOS(234,'V')"
I get:
ORA-00904: "DOS": invalid identifier
If I make the function ("DOS") public and "call" equals "pack.DOS(234,'V')", it works fine, but I don't want to make it public.
Is there a solution?
Thanks in advance
RuBeckHi, Kamal:
Calling from outside of the owner package is not possible if it is not public.The calls are from inside the package. It looks like the dynamic select is executed "outside" the package, so the private function is unknown
Make it available in the package headerLooks like it's the only solution
How often this will be executed?This is a library for loading files into tables and executing dynamic validation procedures.
Here's an example of the mechanics:
create or replace package mypack as
function one return number ; -- public function
procedure execute_it( p_name VARCHAR2 ) ;
end ;
create or replace package body mypack as
function one return number is
begin
return 1 ;
end ;
function two( i number, s varchar2 ) return number is -- private function
begin
return 2 ;
end ;
procedure execute_it( p_name VARCHAR2 ) is
select_str VARCHAR2( 1000 ) ;
v_num NUMBER ;
cur NUMBER ;
nf NUMBER ;
begin
select_str := 'SELECT '||p_name||' FROM dual' ;
cur := dbms_sql.open_cursor ;
dbms_sql.parse( cur,select_str,dbms_sql.v7 ) ;
dbms_sql.define_column( cur,1, v_num ) ;
nf := dbms_sql.execute( cur ) ;
IF dbms_sql.fetch_rows( cur ) = 0 THEN
RAISE no_data_found ;
END IF ;
dbms_sql.column_value( cur, 1, v_numero ) ;
dbms_output.put_line( p_name||' returns '||v_num ) ;
dbms_sql.close_cursor( cur ) ;
end ;
end ;
begin
mypack.execute_it( 'mypack.one' ) ; -- Call public function: Works fine
mypack.execute_it( 'two(234,''v'')' ) ; -- Call private function: error 0904
end ;
Thanks for your hints
RuBeck
PS: The indentation is lost when I post the message! I wrote it indented! -
Adobe Form called from SAP Portal, not executing interface global init code
Hello!
I have an adobe form called from both R/3 and SAP Portal and I need to show long text dinamically calculated.
The deal is at the SAP Portal execution, as scenario characteristics don't allow string definitions, I'm using 255 characters tables (QISR_TAB_TYPE), that I'm trying to convert inside form interface (Global init code).
The problem is that the interface global init code is being executed when the form is called from R/3, but it is not at SAP Portal.
Does anybody know how to manage this? It's kind of a problem that the BAdi method int_service_request_init doesn't allow types over 255 characters... and if it is not possible to access the form interface code section (maybe there's any way)... i need to find some code section where i can convert tables before the form context is filled!!
Thanks a lot!!
Regards,
Diana.Hi,
have you searched on SCN? There are some threads with same problem such as [this one|/message/9270216#9270216 [original link is broken];. There is more threads. They may help you to solve your issue.
Cheers -
Calling LrTasks.execute from within a plug in manager control
I'm working on a Lightroom post-processing-filter plug in which has most of the functionality inside an executable that resides inside the plug in folder.
The executable is responsible for doing the actual photo processing but is also responsible for obtaining and verifying that there is a valid license. This means that I need to let the user eneter an activation code, pass that to the executable which will talk to our server and get a license.
I would like to handle that activation part from the plug-in manager dialog so I've added a top section (see following code) with a text field and a button and I've added code to call the executable when the button is pressed, but the executalbe is never called.
Is what I'm trying to do impossible? Any workarounds?
Thanks in advance!
Eyal
function PluginManager.sectionsForTopOfDialog( f, p )
p.my_result = 0
return {
-- section for the top of the dialog
bind_to_object = p,
title = "MyPlug",
f:row {
spacing = f:control_spacing(),
f:static_text {
title = LrView.bind( "my_result")
f:push_button {
width = 150,
title = 'Run Exe',
enabled = true,
action = function()
command = '"' .. LrPathUtils.child(LrPathUtils.child( _PLUGIN.path, "mac" ), "MyTool" ) .. '" ' .. '-action check"'
quotedCommand = command
p.my_result = LrTasks.execute( quotedCommand )
end,
endThanks Rob,
I'm afraid it didn't work for me. The code inside postAsyncTaskWithContext is not executed, as far as I could see. I didn't see any diagnostic messages.
local LrView = import "LrView"
local LrHttp = import "LrHttp"
local bind = import "LrBinding"
local app = import 'LrApplication'
local LrPathUtils = import 'LrPathUtils'
local LrTasks = import "LrTasks"
local LrDialogs = import 'LrDialogs'
local LrRecursionGuard = import 'LrRecursionGuard'
PluginManager = {}
function PluginManager.sectionsForTopOfDialog( f, p )
p.my_result = 0
local buttonGuard
return {
-- section for the top of the dialog
bind_to_object = p,
title = "MyPlug",
f:row {
spacing = f:control_spacing(),
f:static_text {
title = LrView.bind( "my_result")
f:push_button {
width = 150,
title = 'Do Something',
enabled = true,
action = function(button)
LrFunctionContext.postAsyncTaskWithContext(button.title,function (context)
p.my_result = 3
end)
end,
end -
Execute Oracle Package Function call from FORTE
Has anyone EVER successfully execute an Oracle Package Function call from FORTE
via " sql execute procedure "?
Here's my question, I am able to execute a stored procedure but hasn't figured
out a way to execute a function which defined in a package. The syntax goes
like this: sql execute procedure <PackageName>.<FunctionName> ( input
input_parm, output output_parm). If anyone EVER successfully execute a
function, please let me know, thanks.You'll need to provide a column alias for the function call:
select func(val) as alias from dual -
How stored procedure get executed when called from java
When we create a stored procedure or function in oracle, it is compiled and stored there. From java when we call them no compilation is performed its a simple call. When a function or stored procedure is invoked from multiple instance of java objects(for a single session), does the stored procedure clone it self so that it can be called by different java objects which I think not possible at all. In such cases when one java object is interacting with the stored procedure, does other java objects go on a wait state. What happens if sessions are different.
Please help.>
does oracle creates multiple instance of a particular stored procedure for different sessions or connections. if not then there might be some kind of waiting principle followed.. what happens exactly
>
What happens exactly is detailed in Chap. 14 Memory Architecture ni the Database concepts doc
http://docs.oracle.com/cd/E14072_01/server.112/e10713/memory.htm#i21266
The code is shared but the data isn't (see the lone exception to this below).
See the section on the Library Cache
>
Program Units and the Library Cache
The library cache holds executable forms of PL/SQL programs and Java classes. These items are collectively referred to as program units.
The database processes program units similarly to SQL statements. For example, the database allocates a shared area to hold the parsed, compiled form of a PL/SQL program. The database allocates a private area to hold values specific to the session that runs the program, including local, global, and package variables, and buffers for executing SQL. If multiple users run the same program, then each user maintains a separate copy of his or her private SQL area, which holds session-specific values, and accesses a single shared SQL area.
>
The exception is when code uses the SERIALLY_REUSABLE pragma. In that case the memory for package state is in the SGA and users do not have their own copy in their UGA.
See the SERIALLY_REUSABLE pragma in the PL/SQL Language doc
http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/seriallyreusable_pragma.htm
>
The global memory for serially reusable packages is pooled in the System Global Area (SGA), not allocated to individual users in the User Global Area (UGA). That way, the package work area can be reused. When the call to the server ends, the memory is returned to the pool. Each time the package is reused, its public variables are initialized to their default values or to NULL.
Serially reusable packages cannot be accessed from database triggers or other PL/SQL subprograms that are called from SQL statements. If you try, the database generates an error. -
Calling a report that have dynamic parameter from vba
i have this report that have a dynamic parameter , when i call from my application using vba it aske for server name , user id and password , even i have provided the connection string right , so if there is diffrent way to do it can you tell me , because this is killing me from over a month
i have attached the a screen shot and the code is following
thanks
Dim cn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim userinfo As New RetrieveGlobals9.retrieveuserinfo
Dim strsql, sqlDataSource, pwd, userId1, constring, interCompanyID As String
Dim path, userf, userto As String
Public application As New CRAXDRT.application
Public report As New CRAXDRT.report
Private Sub CUPRPayrollReports_Initialize()
sqlDataSource = userinfo.sql_datasourcename
userId1 = userinfo.retrieve_user
pwd = "sql"
interCompanyID = "ASCTR"
End Sub
Private Sub DepartmentWisePrint_Changed()
CUPRPayrollReports_Initialize
path = "C:\Program Files\Microsoft Dynamics\GP\departmentWise.rpt"
Set cn = New ADODB.Connection
constring = "Provider=MSDASQL" & _
";Data Source=" & sqlDataSource & _
";User ID=" & userId1 & _
";Password=" & pwd & _
";Initial Catalog=" & interCompanyID
With cn
.ConnectionString = constring
.CursorLocation = adUseNone
.Open
End With
Set rst = New ADODB.Recordset
strsql = "SELECT * FROM DepWise"
rst.Open strsql, cn, adOpenDynamic, adLockOptimistic, adCmdText
Set report = application.OpenReport(path, 0)
report.Database.SetDataSource rst, 3, 1
report.EnableParameterPrompting = True
ReportViewer.CrystalActiveXReportViewer1.ReportSource = report
ReportViewer.Top = 0
ReportViewer.Left = 0
ReportViewer.Height = 500
ReportViewer.Width = 760
ReportViewer.ScrollBars = fmScrollBarsBoth
ReportViewer.CrystalActiveXReportViewer1.Top = 0
ReportViewer.CrystalActiveXReportViewer1.Left = 0
ReportViewer.CrystalActiveXReportViewer1.Height = 500
ReportViewer.CrystalActiveXReportViewer1.Width = 750
ReportViewer.CrystalActiveXReportViewer1.EnableGroupTree = False
ReportViewer.CrystalActiveXReportViewer1.EnableRefreshButton = True
ReportViewer.CrystalActiveXReportViewer1.EnableExportButton = True
ReportViewer.CrystalActiveXReportViewer1.EnablePrintButton = True
ReportViewer.CrystalActiveXReportViewer1.ViewReport
'If ReportViewer.Visible = False Then ReportViewer.Show
'If ReportViewer.Visible = False Then
ReportViewer.Show
Set rst = Nothing
Set cn = Nothing
End SubHow many tables is there in the report? And, do you have any subreports? I'd recommend gaining experience with this by creating as simple a report as possible - one table - one field, create a recordset, pass that to this report. Does it work? It should. Now we have a bit of confidence and experience, so increase the complexity. But let me know answers to the two Qs above.
Ludek -
How TO CALL c++ EXECUTABLE FROM XI(VERY iMPORTANT)
hI ALL
pLEASE DO GIVE SUGGESTIONS AND DOCCUMENTATION LINKS THAT <b>HOW TO CALL c++ EXECUTABLE FROM XI</b> .THIS IS VERY IMPORTANT AND YOUR HELP WILL BE REWARDED.
WITH REGARDS
SUBRATO KUNDUHi Subrato,
AFAIK you can call C / C++ methods in Java using Java Native Interface (JNI).
Please refer the following links for how to do the same.
<a href="http://www.nag.com/IndustryArticles/CallingCLibraryRoutinesfromJava.pdf">For C:</a>
<a href="http://www.javaworld.com/javaworld/javatips/jw-javatip17.html">For C++:</a>
Regards,
Ananth -
Calling an Executable that Requires DOS from Webpage
Could anyone helpout with this. I am trying to call an executable from a webpage. The purpose is to collect some data, store them in some strings then based on that data call the DOS executable and fill in the switches. For example the executable is clemail.exe and the switches are -to [person to] -from [person from] -subject [subjectline] etc... The DOS line looks like this:
clemail.exe -to [email protected] -from [email protected] -subject email sender -body This exe enables you to send an email from the DOS command line.
Any suggestion would be appreciated.
Thanks,
GeorgeCould anyone helpout with this. I am trying to call an executable from a webpage. The purpose is to collect some data, store them in some strings then based on that data call the DOS executable and fill in the switches. For example the executable is clemail.exe and the switches are -to [person to] -from [person from] -subject [subjectline] etc... The DOS line looks like this:
clemail.exe -to [email protected] -from [email protected] -subject email sender -body This exe enables you to send an email from the DOS command line.
Any suggestion would be appreciated.
Thanks,
George
U can do that using
Runtime.getRuntime().exec ("clemail.exe -to [email protected] -from [email protected] -subject email sender -body ");
remember to put the clemail in path or give the entire path. -
Calling external executables from .jsx
Hi
I'm looking to do some Perforce (revision control) work from inside a Photoshop .jsx. There is a Perforce plugin for Photoshop but it does not seem to interface with the Photoshop CS2 Automation system in any way. My question is, does the Photoshop JS interface provide me some way to call other executables?
Thanks
Alex Mouton[email protected] wrote:
> Hi
>
> My question is, does the Photoshop JS interface provide me some way to call other executables?
There is no binary interface for this.
However, the File.execute api will let you execute whatever app you want. If you
need to pass parameter or get results back, it gets a little complicated but it
is doable. Check over at the scripting forum.
>
> Thanks
> Alex Mouton -
How i call a executable file from a pl/sql
how i can call a executable file make in c (unix) from a pl/sql
Thanks for your helpYou need to use libraries. use the executable and create a library by specifying the path and invoke it from the Stored procedure. It is like an external file to the database.
--Rajakumar.
Maybe you are looking for
-
PDF prints a thumbnail and backwards
I recently upgraded a user to Acrobat Reader 9 and since then, when he tries to print a paper copy of PDF's to his post script printer, they come out as inverted and the size of a thumbnail picture. Even if he sets the printer to the proper paper s
-
Itunes and 3ivx.dll error
updated itunes, each time I try to launch I get an error saying, cannot launch because 3ivx.dll was not found, help DELL Windows XP Pro
-
Using redirection operator ( ) in Runtime.exec()
I am trying to execute a command "cat abc.txt > 123.log" from my Java program using Runtime.exec(). However, the exec() command isnt able to interpret ">" as an operator, instead it uses this as a string. Any suggestions on how I can run the above co
-
"original song could not be found" HELP
When I try to drag a song in from the library I get original song could not be found. Please how do I fix this so I will be able to listen to the song?
-
I am preparing for 74-343. following is the drag and drop question. Please help me. I would like to post more Drag and Drop questions as soon as find more. Does anybody have a summary of Drag and Drop questions and answers ready? If I get them, that