FTDI FT4222.DLL calling

I am attempting to use the FTDI FT42222 usb to SPI/I2C/GPIO chip with LabVIEW.
FTDI provides two dll's that talk to the chip. After some trial and error, it appears that one dll uses the C calling convention, the other uses winapi convention. FTd2xx.dll and FT4222.dll are provided by FTDI. FTD2xx.dll are the generic USB open device calls and FT4222.dll are the FT4222 specific support.
With that figured out, I was able to successfully communicate via I2C.
Having that, I now would like to use the remaining GPIO pins, one for input, one for output.
So I started and can initialize the port with no errors returned. But, reading or writing to the pins returns an error.
I think it might be the way I'm calling the following:
LIBFT4222_API FT4222_STATUS FT4222_GPIO_Init(FT_HANDLE ftHandle, GPIO_Dir gpioDir[4]);
LIBFT4222_API FT4222_STATUS FT4222_GPIO_Write(FT_HANDLE ftHandle, GPIO_Port portNum, BOOL bValue);
Their docs show:
xx_STATUS       DWORD
FT_HANDLE    DWORD
GPIO_DIR        enum
GPIO_Port        enum
BOOL                unsigned char
So, I used the following in my library function node:
xx_STATUS        Numeric, Unsigned 32-bit Integer
FT_HANDLE     Numeric, Unsigned 32-bit Integer, Pass:Value
gpioDir[4]           Array, Unsigned 32-bit Integer, Array Data Pointer
                              (Here I pass in a 4 element U32)
portNum            Numeric, Unsigned 32-bit Integer, Pass:Value
bValue                Numeric, Unsigned 8-bit Integer, Pass:Value
I'm thinking since all works well for the I2C communication, that I've gotten the STATUS and HANDLE definitions correct.
Am I right in assuming the bools end up 8 bit integers and enums will end up being unsigned 32-bit?
Do I need to use the old trick using a cluster with the first element the array size to pass the gpioDir array?

I guess it's not clear from what I posted, but their docs show gpioDir as an array:
I have since got it working and each of the 4 elements of the array controls the direction of one of the 4 I/O pins.
It turns out to get the GPIO pins to work as GPIO in Mode 0 of the chip, you need to de-assign the default functions of the pins. In Mode 0, pins 0 & 1 are I2C SDA & SCL and pins 2 & 3 are wake and suspend. De-assigning wake and suspend allows GPIO control of pins 2 & 3, while I2C is still functional on pins 0 & 1.
Regards,
Mac

Similar Messages

  • How is it possible to make sure that LV uses the same thread for several threadsafe DLL calls?

    Hello,
    i have a thread safe DLL and most functions are called from serveral threads from the LV apllication without problems.
    In case of an error i have to call an error handler function in this DLL (like WinAPI: GetLastError()) from the same thread which has called the function that failed before.
    I can't use the user interface execution because some functions need a long execution time and i don't want to balk the user interface.
    All other executions than the user interface execution have more than one thread and in most cases the DLL function calls were executed from different threads - so the error handling doesn't work...
    Any idea?
    Thanks for your help!

    Hmmm....
    How about wrapping all of your dll calls in a single VI (or an Action Engine ) and make sure the VI's thread is NOT set for "Same as caller".
    "Threadconfig.vi" (sp?) will also let you dictate the number of threads associated with an execution system. Set your target thread for "1".
    Not sure on the above.
    Please correct me if this is wrong!
    Ben
    Message Edited by Ben on 07-19-2007 08:26 AM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Private dll calling in Labview

    Hi everyone, (refinement of my question)
    I have two dlls. One contains public functions which I call from Labview. The functions in this dll call functions in the other (private) dll. However, how do I tell Labview where to find this private dll?
    I have tried installing the dll in the system path directory. I have also put the dll in various different places relevant to Labview (e.g. in the directory of the Labview executable file). However, none seem to work (.
    Is there an option in Labview where I can set paths to dlls?
    Any help will be gratefully received.
    Ciao,
    Matthew Banham (colleague of Francois)

    > I have two dlls. One contains public functions which I call from
    > Labview. The functions in this dll call functions in the other
    > (private) dll. However, how do I tell Labview where to find this
    > private dll?
    >
    > Is there an option in Labview where I can set paths to dlls?
    >
    The problem is that the system loader is what handles the dependent
    DLLs. Since LV knows about the primary DLL, we try multiple locations,
    the path in the dialog, next to the VI, in the LV search paths, and
    finally we ask the system to look in their places. LV doesn't know
    about the dependent DLL, and it is up to the system to find it. I'd
    recommend trying the system or windows folder again. That should be the
    right solution.
    An off the wall thought that might h
    elp would be to add a dependency
    directly into LV by making a DLL node that calls in the the "private"
    DLL. You don't actually have to call it, you can place it in a case
    structure with a constant set the other way. Anyway, this will cause LV
    to look for the DLL, and I think it might help if nothing else works.
    Greg McKaskle

  • Configuring array of byte in dll call

    Dear all,
    I need to send the data 2010010100H to the dll at the question mark(U8) i mentioned in the attachment. Actually the data has to be transferred at a time not in bits and pieces. How to do this? I just put an array constant. Is it correct? Kindly give suggestions asap.
    Thanks,
    Mathan
    Attachments:
    1.PNG ‏10 KB

    Hi mathan,
    the dll call in your pic only accepts single bytes (U8) - so no way to wire an array!
    why do you create so many new threads, when the topic doesn't change?
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Error Code 1097 Coming in DLL Calling

    Hi,
    I am getting error code 1097 in DLL calling function. Please find the DLL calling function details for more information.
    Function :  GetControllerListTest(controller *ptrControllertest,char *max_controller);
    Controllertest parameter details:
    define NO_OF_CONTROLLER  100
    #ifndef CONTROLLER_STRUCT
     typedef struct
      CString name;
      char status;
      CString blocked_by;
      char group;
     }controller;
    Controllertest parameter data type is structure. In LabVIEW, I have configured parameter as a cluster.
    name : String control
    status : U8 Integer control
    blocked_by : String control
    group : U8 Integer control
    Could you please confirm it, did I configured the datatype in correct way?
    I am getting empty array output and Error Code from the DLL 1097. Can you please tell me where I am missing?
    Thanks
    Sivaramkumar.V
    Solved!
    Go to Solution.

    Call Library Node problems without the VI in question attached AND the complete C prototype of the function provided, AND preferably some documentation about the C function in question can be not diagnosed. These informations are paramount to get the Call Library Node configured properly since there is no way a calling application can retrieve the necessary information from the DLL itself. The DLL interface was never intended to be a self configuring interface and it was designed with the understanding, that the user of such an interface is a fully knowledgeable C programmer knowing both, how to read a header file definition as well as various details about memory buffer handling.
    So show us your VI and the C header file, and we can start to help you. Otherwise all we can do is guessing in the way you have done with changing the calling convention randomly. You can of course try to shoot in the shooting range with a blindfold on, but the chances that you not only do not hit the target, but injure some other person instead is very high.
    The only reason that the suggestion from Fragger Fox has any merits is the fact that LabVIEW used to have some heuristics that changed the Call Library Node automatically from C calling convention (the LabVIEW default) to Windows calling convention, if it recognized a certain pattern in the exported function name. This heuristic was removed in LabVIEW 2009 because it did prevent the Call Library Node to be able to call functions that were using C calling convention but happened to match the heuristic pattern. So changing a Windows calling convention to C calling convention when the code has "seemed" to work before is NEVER a solution.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to response polling event during dll call

    Hello,
    There is a long time dll call in my program. The program doesn't response to mouse click in the front panel during the dll call when I want to display other page in Tab control. It only response after the call.
    How to solve the problem?
    Thanks!

    Wether or not it is possible to fix this situation is dependent on the dll itself.
    IF
    the dll is written to be re-entrant (thread-safe)
    THEN
    you can configure the Call Library function to not run in the user interface thread. This can be done by right-clicking on the node and selecting "configure". In the configure screen, ther is a drop down selection box that defaults to "Run in UI thread". Change this to re-entrant.
    You can then determine which thread the dll runs in by setting the properties of the calling VI.
    Warning!
    If the dll is not re-entrant you WILL experience random crashes and possible data coruption! All bets are of if the dll is used in the wrong manner.
    What is happening:
    LV's execution systems are multi-thread with the exception
    of the UI thread. The UI thread is single threaded to ensure updates of control and indicator information is updated correctly, etc. This thread also uses co-operative multi-tasking wherein a proccess is expected to "put itself to sleep" regularly in order to allow other proccesses in that thread to gain access to the CPU. Your dll is dominating this thread and prevent user actions to be serviced!
    Final note;
    If you do not know if the dll is thread-safe and decide you just want to experiment,
    BACKUP YOUR ENTIRE MACHINE!
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • RoboHelp for Word Version 8-Run-time error 49-Bad DLL calling convention

    I just installed the trial version of RH8. I have RH5 installed. I also have Word97 installed. When I start RH8, the RH Explorer pane opens, but when it tries to open Word, the following error message appears: "Microsoft Visual Basic - Run-time error '49'. Bad DLL calling convention." Any ideas on what I can do to fix this problem?

    See Snippets on my site.
    See www.grainge.org for RoboHelp and Authoring tips
    Follow me @petergrainge

  • I am using a Application in c dll calling from jni jar by java applet in firefox version 19.0 , the problem is click event message box will not working correct

    I am using a Application in c dll calling from jni jar by java applet in firefox version 19.0 , the problem is button click event message box or popup window will not working correctly. Please any one suggest me the steps to overcome this not responding or slowness in the responding problem of Button click event.

    Hello,
    In Firefox 23, as part of an effort to simplify the Firefox options set and protect users from unintentially damaging their Firefox, the option to disable JavaScript was removed from the Firefox Options window.
    However, the option to disable JavaScript was not removed from Firefox entirely. You can still access it from about:config or by installing an add-on.
    '''about:config'''
    # In the address bar, type "about:config" (with no quotes), and press Enter.
    # Click "I'll be careful, I promise"
    # In the search bar, search for "javascript.enabled" (with no quotes).
    # Right click the result named "javascript.enabled" and click "Toggle". JavaScript is now disabled.
    To Re-enable JavaScript, repeat these steps.
    '''Add-ons'''
    You can alternatively install an add-on that lets you disable JavaScript, such as
    *[https://addons.mozilla.org/firefox/addon/noscript/ No-Script] (to disable JavaScript on a per page basis, as required)
    *[https://addons.mozilla.org/firefox/addon/quickjava/ QuickJava] (to easily disable and enable JavaScript, automatic loading of images, and other content)
    Thank you and I hope this helps!

  • Failure: "gnrclist.cpp" after a DLL call

    Forum:
    Since adding dll calls in a VI, LabVIEW is frequently crashing, both during VI execution and after exiting the application.
    Generally, what issues need to be considered when making successful dll calls (using the "call library function").
    Jordan

    Hi Jordan,
    It sounds like this issue is due to the fact that you are not allocating memory for the dll in advance. This is the most common mistake when implementing a dll in LabVIEW.
    For instance, if your dll is going to output an array of 100 double-precision numbers, then you need to allocate this place in memory by passing the dll a dummy array of 100 double-precision numbers that it can operate on. Also be careful not to expand the size of the array. LabVIEW doesn't support dynamic memory allocation within a dll in most circumstances. If you don't allocate a place in memory in advance, LabVIEW may crash when you exit the program and LabVIEW tries to deallocate memory.
    A really good example of allocating various types of data for use in a dll is available from the Example Finder (Help >> Find Examples from LabVIEW).  Click the Search tab and search for the term DLL. The Example is called Call DLLs. It contains c code that corresponds to various dll functions that operate on various data types, and it shows you how to call these dll functions properly from LabVIEW. For a more comprehensize overview of the process, refer to the document Using External Code in LabVIEW, available here, or browse through these Developer Zone examples and applications notes.
    Jarrod S.
    National Instruments

  • Dll call from java using Jbuilder?

    Please?
    Does anyone know how I do dll calls from java (jubuilder).
    I have tried but did not manage to get it wright???
    / thanks carlos

    Research JNI (java native interface)

  • VB Error  - Runtime error '49' Bad DLL  calling convention

    Hi Experts,
    When User is running report he is getting error VB Error  - Runtime error '49' Bad DLL  calling convention .
    Can you please suggest how to resolve this issue?
    User has already tried uninstalling SAP GUI and installing again.
    Thanks & Regards
    Deepak Chavan.

    Hi Deepak,
    this doesnt appear to be an SAP error.
    I did a Google search on the error & got lots of hits, including:
    http://www.bigresource.com/VB-WindowFromPoint-Bad-DLL-calling-convention-run-time-error-49--G1wKaVeqwY.html
    Its a Microsoft Visual Basic programming error code.
    Rgds,
    Colum

  • Does a reentrant dll call monopolize the calling thread?

    If I understand thing correctly, threading for a dll call is the same as threading for a vi whose execution priority is set to subroutine.
    To review threading in subvis:
    (1) the thread in which a subroutine-execution-priorty-vi call is made is monopolized by the subroutine-execution-priorty-vi since labview cannot time slice the thread.
    (2) if the subroutine-execution-priority-vi is not reentrant, then other threads that call the vi may be suspended because they are competing for the same code resource.
    (3) if the subroutine-execution-priority-vi is reentrant, then other threads may call the vi simultaneously. However, within any particular thread the vi must complete because of point (1).
    In
    sum, the OS timeslices between the threads, and labVIEW timeslices within the threads. If a vi's execution priority is set to subroutine, then the thread under which it is running is monopolized by the vi. Yes?
    A reentrant dll call would be equivalent to a reentrant subvi call in which the subvi's execution priority is set to subroutine. Yes?
    If the above is correct then this should also be correct:
    Using an API call to return the thread ID, you could use the the thread ID at the front and back side of a dll call, as well as in a message library function callable from a dll, to theoretically message labVIEW upon the dll return. The message would be uniquely identifiable because a dll call cannot be superceded by another dll call from within the same thread. Yes?
    I'm not saying that it would be particularly efficient to do so, only that it could be done. And depending on the messaging, it could be a useful option in the dll call configuration dialog box.
    In consider
    ation of "magic",
    Kind Regards,
    Eric

    Eric,
    I'm not sure I understand exactlly what you are trying to do here.
    If you want LV to react to a dll error, why don't you just pass a return
    code that's not zero? Then, back in LV, read the return code. If it's not
    zero, create an error, and pass this to the rest of the code. The rest of
    the code is (or should, following good programming practise) has an error
    in, and the code will not execute if the input error is TRUE. It does not
    even have to be the return code, it could be any input value. The input
    values can be changed in the code, and the modified value is returnd to
    LabVIEW.
    If you want to generate an error, and put it into a buffer to be read later
    on in LV, you'll have to synchronise the code. This is the consequence for a
    construction like this, and is the same for several windows API's
    (GetLastError, etc.). the buffer will stay in memory, untill all instances
    of the dll are released from LV memory.
    BTW: A dll could create another thread. This thread can run on the
    background, like the good old TRS's in dos. (A thread like this could even
    call a LabVIEW VI that is build in a dll, just like any other api.)
    BTW: A thread created by a dll can be made to be automatically released when
    the thread is detatched, or when the process is detached. This is important,
    because LV will crash if the dll is removed from memory, but the thread is
    not stopped properly.
    Regards,
    Wiebe.
    "Eric6756" wrote in message
    news:[email protected]...
    > Greg,
    >
    > As I think I lost you in the point of this line of questions, let me
    > back up.
    >
    > A couple of week ago I asked the following question, "Is there a
    > labVIEW library call that can be made from a dll to tell labVIEW to
    > abort the calling vi thread?" To that question you made the following
    > statement:
    >
    > "... and I doubt that there is a function to do that from a DLL as the
    > DLL could be arbitrarily deep down the stack and the function called
    > would have to magically find the VI that it wants to abort. And don't
    > forget that DLLs can be called by multiple VIs at the same time."
    >
    > You seem to be saying here that what I'm asking for is not possible.
    > And having thought about this for a while, I didn't understand why
    > not.
    >
    > For the moment I'm going to ignore the caveat you just put into the
    > dll calling presumptions I've made and assume the dll is going to
    > execute synchronously within a thread. As the original question
    > suggests, the objective here is to message labVIEW from a dll to
    > provide the same functionallity as a CIN, namely return an error code
    > to labVIEW from a dll.
    >
    > A library function could do this as follows:
    >
    > First, the library function would have two modes; set error, and
    > return error
    >
    > (1) set error:
    >
    > 1.1 get the set error caller thread ID from API
    > 1.2 get the passed in error
    > 1.3 store the error and associated thread ID locally
    >
    > (2) return error
    > 2.1 get return error caller thread ID from API
    > 2.2 locate the error, if any, associated with thread ID
    > 2.3 return the error and clear it locally
    >
    > Now, if a dll encountered an error that it wanted labview to deal
    > with, it would call the error function to set the error code. When
    > the dll call returns control to labVIEW, labVIEW could call the
    > function to return the error. This of course works only if the dll
    > call is synchronous within a thread. Obviously, if the dll releases
    > the thread before it returns, then more than one dll call can be made
    > from the thread and the presumption that an error could be uniquely
    > associated with a thread is itself an error.
    >
    > Having looked at your reply again, I think though your answering a
    > different question than I asked. I just wanted a function to message
    > labVIEW to abort the vi chain, I don't want to abort a vi chain from
    > within the dll. It is a feature of CIN calls which I wanted in dll
    > calls.
    >
    > That a dll call may not be synchronous within a thread throws a wrench
    > in the works. Apparently I've just chased down a dead end.
    >
    > Hey, but thanks for the wrench...
    > Kind Regards,
    > Eric

  • Labview 5.1 vs. 5.0 and dll calls

    Hello!
    I have Analogic cPCI-14-2 DAQ cards in the PXI box. Their driver is a dll
    for which I wrote LabView interface using LV5.01 . Everything was nice
    until I switched to 5.1, now it is impossible to run the program for more
    than 5min without a memory access violation error and subsequent LV crash.
    I compiled executable from the DAQ module under 5.01 and 5.1. Executable
    made under 5.1 would not even execute once, resulting in the crash. Then I
    saved VI's using save as LV5.0 option, compiled executable under LV5.01 and
    that runs without problems. I ended up using ActiveX server capabilities of
    the executable by calling it from my main program written using LV5.1
    because I needed to call Matlab. ActiveX server is actu
    ally nice because of
    DCOM in NT boxes, I can now run everything from my office super-duper
    machine instead of using a PXI box's Pentium233.
    Question is, has anyone else had problems with dll calls and how were they
    solved ?
    I will appreciate your suggestions.
    Sincerely
    Reinis Kanders

    Mass compiled in 8.2.1
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Keithly 8_2.zip ‏1231 KB

  • Bad DLL Calling Convention

    Hi,
    I've created a dll with LV8.6 and I'm trying to call it from VB6.0.  I get the message 'Bad Dll Calling Convention.  Run Time Error '49'.
    Questions:
    1.  Any idea what might cause this error?
    2.  What is the meanig of the second function appear inh the h file ( long __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module)
    Thanks very much for your help
    Rafi
    The dll definition as appear in the h file:
         void __stdcall EDASAnalysis(double f_sampleMHz, char FilePathFromOut[],
             double *RMSValue, double *AmplitudePP);
         long __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module);
    The Decleration in Visual Basic 6.0:
         Declare Sub EDASAnalysis Lib "D:\NI Projects\eDAS400\DLL\ LV-DLL_V2\DLL\eDAS400_Analysis.dll" _
                (ByVal f_sampleMHz As Long, ByVal FilePath As String, RMSValue As Long, AmplitudePP As Long)
    Using the Function in VB6.0:
        Call EDASAnalysis(10, "D:\NI Projects\eDAS400\Data Files\Samples\10MHz.txt", rms, pp)

    Rafi2003 wrote:
    Hi,
    I've created a dll with LV8.6 and I'm trying to call it from VB6.0.  I get the message 'Bad Dll Calling Convention.  Run Time Error '49'.
    Questions:
    1.  Any idea what might cause this error?
    2.  What is the meanig of the second function appear inh the h file ( long __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module)
    Thanks very much for your help
    Rafi
    The dll definition as appear in the h file:
         void __stdcall EDASAnalysis(double f_sampleMHz, char FilePathFromOut[],
             double *RMSValue, double *AmplitudePP);
         long __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module);
    The Decleration in Visual Basic 6.0:
         Declare Sub EDASAnalysis Lib "D:\NI Projects\eDAS400\DLL\ LV-DLL_V2\DLL\eDAS400_Analysis.dll" _
                (ByVal f_sampleMHz As Long, ByVal FilePath As String, RMSValue As Long, AmplitudePP As Long)
    Using the Function in VB6.0:
        Call EDASAnalysis(10, "D:\NI Projects\eDAS400\Data Files\Samples\10MHz.txt", rms, pp)
    muks already pointed you to a discussion that shows the problem. VB can not call cdecl exported functions, so when you create your DLL you'll have to tell LabVIEW to use the stdcall calling convention to export the function for VB.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Trying to get dll calls to work like c++

    Hi,
    I understand there have been many posts about dll files.  I have reviewed them and found nothing that helps me.  I have a segment of c++ code that communicates with a digital correlator, reading data from it.  The c++ code works fine, but when I wrote the code in Labview, I get results that are reasonable sometimes....sometimes I get good data, sometimes odd data, and sometimes no data.  The c++ code ALWAYS yields good data.  The function prototypes in each of the call library functions matches that in the c++ code. 
    The C++ code is attached.
    NOTE THAT there are a few things (like calculating delay times and writing to file I don't do in the labview code).
    The labview code never outputs any values in TraceA or TraceB, which should be values around 300,000.  The DLL location is set correctly, as evidenced by the fact that the code works....just not consistently.
    Any help would be greatly appreciated.
    Josh
    Attachments:
    Correlator.vi ‏38 KB
    sample.cpp ‏6 KB

    Your message is very clear!
    I have no idea how the fact that this particular code was made to work would help you unless you try to use the same DLL which would seem rather strange. As to what the OP posters problem was:
    One has to provide buffers to DLL functions for ALL parameters when one calls them. Yes LabVIEW does take care about buffer allocations everywhere else so you don't have to worry about that, but when calling C code, LabVIEW can't even guess what buffers the function may need. And therefore it correctly doesn't try to guess at all.
    Those arrays that the function should write into, have to be allocated BEFORE one calls the function. It's the single most problem why DLL calls don't work as expected either returning rubbish or crashing. And anyone claiming to have read all the posts about DLL calling on this board or also on lavag.org should have gotten across at least two dozen messages from me where I pointed that out and explained it in detail.
    in detail: The graph arrays do get initialized but in the same frame all control get initialized to default. That is completely wrong! one does either one or the other but not both and definitly not in the same frame because of uncertainety which is executed first.
    nTrace is initialized to 0 and then used as indication in the CallLibrary Node, how large the array needs to be. Well a 0 element array is just that an array of no content, therefore a buffer that can hold no information and therefore it's sheer unluck that the Call Library Node doesn't crash.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for

  • Remote app start screen on iphone

    I'm most of the time using the Remote app in my iPhone to command my Apple TV when listening music. This works as it should with only one issue: each time I start the app and connect to my Apple TV to do whatever I want (change playlist, etc.) the fi

  • FileUpload using JAX-WS webservice on weblogic 10.3.5 is taking long time for files greater than 10MB

    I am trying to upload a file using JAX-WS webservice which is deployed on the weblogic 10.3.5 server.Even before the code reaches the Service Endpoint lot of time is being spent at the weblogic layer. for files less than 10MB the performance is good

  • Front panel controls show up one at a time

    When I first open my main vi the controls on the front panel appear one at a time over 20-30 seconds.  The problem was compounded when a second front panel was made switching between the two the controls for the second panel pop up one at a time and

  • Want to integrate JavaFX with JSF

    Hi all, I am developing a web application in JSF. I want to integrate it with JavaFX. Is it possible to do so? If possible then how can I achieve it? Thanks in advance, JSF GEEKS

  • Selection of row in a table

    Hello all, I have attached to my InputField in a table a method onEnter and when I push <enter> in a editabele cell of a row unfortunatly system returns me not a number of row that I made an <enter> (I have editable table) but the row that is selecte