Need to create a "jni-header" ?

Hello,
I'm totally new to JNI, so I read the JNI tutorial and there is said that I need to create a header file based on my java code. Do I always need to do that?
I want to call some functions from a windows dll which is already compiled. Can I load this lib by using "System.loadLibrary(String)" and access its functions by declaring the native methods in my java code?
Regards,
Schlunz

you cannot do that way.
java call of function has different signature
you have to create .h file - go to dos prompt and type
javah -classpath <classpath> <class>
that .h file contane functions in java signature
now write .c or .cpp file, includ there your .h file and compile that as dll
.c file mast contain an implementation of functions whith same signature as in your .h file.
there is example
HelloWorld.java
class HelloWorld {
public native void displayHelloWorld();
static { System.load("c:\\jdk1.3\\bin\\hello.dll");}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
HelloWorld.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */
#ifndef IncludedHelloWorld
#define IncludedHelloWorld
#ifdef __cplusplus
extern "C" {
#endif
* Class: HelloWorld
* Method: displayHelloWorld
* Signature: ()V
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
(JNIEnv *, jobject);
#ifdef __cplusplus
#endif
#endif
HelloWorld.cpp
#include <jni.h>
#include "HelloWorld.h"
#include <stdio.h>
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
printf("Hello world!\n");
return;

Similar Messages

  • Lines needs to create when u create the header

    Hi Friend,
    this is my requirement,
    1) i have header and lines related page, both header and lines will have save when you click the save button.
    2) here i need to perform one validation that on save button, lines need to create when u create the header.header must have lines.
    3)under save button i have written commit operatition, both line and header table having one common column called -> hid
    can you please provide me some psudococe on this

    Hey,
    You can implement the above requirement in both ways:
    1.Using EO
    2. Using PLSQL Packages.
    Using EO's
    Create the below : MasterVO, ChildVO,  MasterChildVL
    Create an advanced table with details region in it.  You can refer DevGuide for more info. if you want.
    Make use of advancedTable : addRow functionality.  When you commit it.. data will be saved in both tables.
    Regards
    Sridhar

  • Help needed for creating 1 invoice for 2 different material types.

    Dear, Gurus
    I really need help here I have spent 3 days cracking my head trying to solve the problem. Problem is client was creating invoice with reference to order and while invoice was being made it would cause an invoice split. The materials involved are Trading Good and Service Material. They would like only 1 invoice. Note nothing was different except material group and item cat. of the material. payment terms billing dates partners everything is same.
    Current item config for Trading Good material is ZMPI-project item cat.
    Copying requirements   023  Item ord.ref. w/o AZ        Billing quantity     A
    Data VBRK/VBRP         000                                           Pos./neg. quantity   +
                                                                                    Pricing type         K
                                                                                    PricingExchRate type
                                                                                    Price source
    Current item config for service Material is TAD-Service
    Copying requirements   002  Item/order-related          Billing quantity     A
    Data VBRK/VBRP         001  Inv.split (sample)            Pos./neg. quantity   +
                                                                                    Pricing type         G
                                                                                    PricingExchRate type
                                                                                    Price source
    I was told to change Data VBRK/VBRP to 003 One Invoice which I did in both of these item cat. and yes they worked perfectly but at time of creating the invoice for service material the qty that showed was 11. Note: In sales order it is 1 qty. So I went back into the config of item cat TAD and changed copying requirement to 023 instead of 002 but nothing changed. Seems a qty of 10 is referencing something else which I have no idea what or where it is picking this up from. Just to see or test things I went into the sales order and tried changing the service material qty then a weird popup appears and says service order 12344456 has been blocked. (Seriously I have no idea why this would happen or should be existing at all.) Even if for some reason it is being referenced the service order that is existing is qty 1.
    I really really do need help and if someone can help me that would be god sent.
    Regards, Ali

    You did not mention what value is maintained in the field billing quantity in the copy control->Item settings. Check for the service item, what value is assigned. Put value A and re-test.
    Note that whenever you change any settings in configuration side, you need to create a new documents to test the results of the settings. You should not use the existing documents.
    When you say the document is blocked, then check the status of the sales order to find the reason for blocking (like credit block, approval etc)..
    Regards,

  • TS2167 i'm getting an error message.. can't create the file "header.jpg." The disk may be damaged or full, or you may not have suuficient access priveleges.

    I need to publish to a local folder on my desk top and I am getting this error message.
    can’t create the file “header.jpg.” The disk may be damaged or full, or you may not have suuficient access priveleges.
    Please help... I need to copy to a disk... it was working fine until I attached a big project, I tried to delete the project, but still not workng.

    Try the following:
    1 - delete the iWeb preference file, com.apple.iWeb.plist, that resides in your
         User/Home/Library/ Preferences folder.
    2 - delete iWeb's cache file, Cache.db, that is located in your
    User/Home/Library/Caches/com.apple.iWeb folder (Snow Leopard and Earlier).
    3 - launch iWeb and try again.
    NOTE:  In Lion and Mountain Lion the Library folder is now invisible. To make it permanently visible enter the following in the Terminal application window: chflags nohidden ~/Library and hit the Enter button - 10.7: Un-hide the User Library folder.
    OT

  • How to create a persona header bar that displays correctly in all resolutions - Firefox 20 Linux

    I'm in the process of learning how to create Personas for Firefox, and have already created one which I am using locally, but I ran into an unexpected behavior: If I create a header bar that is 3000 X 200 pixels as specified in the guidelines, only the right third or so displays in my browser when the theme is applied. To get this header to display "properly" (as I find aesthetically pleasing) I have to resize the header to 1280 X 85 pixels.
    Should not the header bar scale automatically, or do I need to produce a persona header at each possible resolution width to get it to display properly?
    For what it's worth, the footer appears to be displaying the left hand third, but this is not so objectionable in this case.
    A screenshot of the persona is available at http://www2.netdoor.com/~horus/Persona_2013-04.png.
    Thanks for any insights. I feel as though I must be misunderstanding something here.
    (I tried to post troubleshooting information the first time, but it overflowed the character limit...)

    Probably best to ask that sort of question, or research the answer in one of the AMO forums ('''A'''ddons '''Mo'''zilla). I think this one may be appropriate:
    * https://forums.mozilla.org/addons/viewforum.php?f=30
    ** I think you will need to register before posting
    I am wondering where are you doing the learning ?
    <br />There are also resources on MDN
    *https://developer.mozilla.org/en-US/addons
    Detailed discussion of the subject is probably off topic for this forum, but linking to resources or giving as imple answer is not so I hope some of the above are helpful. (You may even find someone else interested and knowledgeable posting a direct answer)

  • Need to Create a Check for Plant in WBS & Plant in Network

    Dear Guru's,
    While creating Project (CJ01) my users are creating in a Plant, and while creating network for the same project/WBS, they are using different Plant Code.
    Since my Profit center is related to the plant in CJ01,
    and because of wrong Plant in network, all my PR/ PO is going in a different Profit center, which is creating a huge problem while auditing.
    I need to Create a Check for Plant in WBS & Plant in Network...!!
    Kindly suggest me the ways to do it and how to do it...

    Hi Deepa,
    The Check you are trying to create between Plant defined at Project def and network level that should be same can be achieved through validation at the network level by using a user exit at network level.
                    While creating the network you can change the plant value not equal to the value at proj def/network profile may be one of the reason is since the network type is defined for more than one plant (OPUV).
                    While creating validations at network level we do not have the option of setting the prerequisite/check  using WBS or Proj def fields (i.e. PROJ-, PRPS- fields)    so we need to create a user exit at the network level.
    I am not sure but logically u can have a user exit for both prerequisite and check steps of the validation.
    You need to create the user exit in program ZGGBR000.
    Please take help from your Abaper for the same.
    OPSI-Network header-Validation- Step - Prerequisite u2013 Check u2013 Message.
    Prerequisite
    If Proj Profile = u2018XXXu2019 and Network Profile = u2018XXu2019 (or as per your logic if need be use a exit)
    CHECK.
    PROJ-WERKS = CAUFVD-WERKS   (This logic needs to be defined in user exit and set the same user exit at the check.)
    Once you define the user exit in ZGGBR000, it will be available in the tab u2018exitsu2019 at the Prerequisite and Check levels.
    The name of the form pool (e.g., ZGGBR000) that contains your user exit must be stored in table T80D.
    It is important that you make declare the code generation program for your user exit; how many and what type of parameters you are using for the user exit. You do this by entering your newly defined user exits in the form routine GET_EXIT_TITLES. Found in program ZGGBR000.
    Check with your Abaper to check on all the aboveu2026
    Message:
    Plant at Network level should be same as at Project def level.
    Hope it helps you,All the best..
    Regards
    Vinayak.

  • Need to create two nodes based on one condition in message mapping.

    Hi Experts,
                    In my mapping I have two different nodes. If my condition is true then only one node should be created otherwise both the nodes should be created.
    requirement is I need to print. one header before first item record and after every 200 item records.
    i.e I need to create header node if (item recordno) is 1 or (item recordno % 200) is 1. I have tried using this condition. But Iam getting all the header records( 3 headers for 600 items) in sequece and then all  item records (600).
    i want 1 header then 200 items , then again header followed by 200 items. so on.
    Can any body help.
    Thanks&Regards,
    REYAZ HUSSAIN

    Hi REYAZ HUSSAIN,
    as graphical mapping is "target field mapping" this is not possible. The parser for graphical mapping traverses the taget message from the first element to the last!
    You need another kind (ABAP, XSLT, JAVA) of mapping.
    Regards Mario

  • Do I need to create custom FM

    Hi,
    I have created a new z-segment to the standard idoc type.
    I even done the outbound processing and IDOC is reached to the destination server box.
    Do I need to create a new inbound function module to get the extra fields of the z-segment or else does  the standard inbound function module itself works.
    If I need to create new INBOUND FM how to do it?
    Should I copy the std. FM and modify it
    OR
    write my own FM for it.
    Please suggest.
    Regards
    Mac

    Edgar:
    Can you provide me any more detail reagrding how to utlize the Error Pages tab?  If I had to guess it apears I want to use Explicit Response Page Header and Explicit Response Page Body under the Appl. Erros tab.  Also, from what I have seen I need to build some kind of page using HTML tags.  Once this is complete do I need to make any changes in my templates to utilize the error pages?
    Thanks,
    Lee

  • Alv - how to create a broader header line?

    I'm using the 'TOP_OF_PAGE' parameter within 'AVL_GRID_DISPLAY' FM in connection with 'REUSE_ALV_COMMENTARY_WRITE' to create a Header Line for the List-display.
    My Problem is, that I really need to get a broader header with approx. 120 characters but the only structure, 'REUSE_ALV_COMMENTARY_WRITE' seems to allow is 'slis_listheader' which is only three fields broad with 80 characters.
    I need a line with 6 fields and 120 to 150 characters - how can i possibly submit that to the function module, or somehow different to 'TOP_OF_PAGE'...?
    Thanks, Clemens

    Clemens
    I think you will have to format the header yourself.
    The problem is that you need to have a pointer to the document (cl_dd_document class) so you can modify it as you want. The only way I found is to use I_CALLBACK_HTML_TOP_OF_PAGE parameter when you call REUSE_ALV_GRID_DISPLAY.
    Unortunately, the form specified in I_CALLBACK_TOP_OF_PAGE parameter for REUSE_ALV_GRID_DISPLAY FM is not being called with any parameters. Therefore can't be used to create your heading.
    Now, you need to call your FM like this:
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE1'
    ...other parameters....
    then you will need to create that FORM:
    FORM TOP_OF_PAGE1 USING p_doc type ref to cl_dd_document.
    DATA: mytoptext(255) TYPE C.
    CONCATENATE 'This is my very long text. Probably about 140 chars long'
      'or more just to check if it all appears as is. Hopefully with a bit'
      'of luck we might have some success here.'
      into mytoptext separated by space.
    CALL METHOD p_doc->new_line.
    CALL METHOD p_doc->add_text
        EXPORTING text  = mytoptext.
    ENDFORM.
    I advise that you have a look on the original SAP FM (REUSE_ALV_GRID_COMMENTARY_SET), which is used to format your commentary (through memorised parameter DYNDOS_FOR_ALV) and based on that you can make your heading.
    If you can't use I_CALLBACK_HTML_TOP_OF_PAGE parameter then probably defining your own grid is a solution (a bit longer to implement, though).
    Hope this helps.
    Wojtek

  • Help! - need to create/list groups in OS 10.5.2 unix

    I need to create some groups in order to install Oracle
    on my 10.5.2 MAC. 10.3.6 MAC had nireport and nicl to
    list and create groups. Unfortunately even tho I can get
    man pages for these commands, the commands themselves no
    longer exist.
    When I posted this question to another forum they directed
    me here, and mentioned that dscl would do what I want.
    But I can't make heads or tails out of the man pages for
    dscl!
    Help!

    SystemPreferences>Accounts, unlock the lock and click the '+' sign. The pull down of 'New Account' has a 'Group' item in it.

  • I need to create automatic invoice(vf01) on click of pgi.so which Bapi?

    Hi all,
               I need to create automatic invoice(vf01) on click of pgi.
    so which bapi shell i use and how shell i pass   outbound deliver((likp-vbeln) to document (KOMFK-vbeln) through that bapi.
    Is BAPI_BILLINGDOC_CREATE is correct bapi to do so.if it is then what i have to pass in parametres.
    Please suggest me.
    Regards,
    Himanshu

    Hi,
      Thanks buddy for your kind support. Now i have below code ..plese check.
    tables:  nast.
      data : bb like BAPIVBRK occurs 0 with header line ,
             re like BAPIRET1 occurs 0 with header line ,
             ss like BAPIVBRKSUCCESS occurs 0 with header line .
            bb-REF_DOC = nast-OBJKY.
           bb-REF_DOC_CA = 'J'. " commented"
              append bb.
    CALL FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE'
    EXPORTING
      CREATORDATAIN         =
      TESTRUN               =
      POSTING               =
      TABLES
        BILLINGDATAIN         = bb
      CONDITIONDATAIN       =
      CCARDDATAIN           =
      TEXTDATAIN            =
      ERRORS                =
        RETURN                = re
        SUCCESS               = ss .
    I have to chek whether it works or not.
    Regards,

  • Do I need to create indexes on column name?

    Following queries have been shown as bad sql :          
    select * from t1 where name = 'FUNCTION'
    Count=     7     Avg Time=13     Min Time=0     Max Time=47
    select * from t2 where name = 'USER_TYPE'      
    Count=2     Avg Time=85     Min Time=0     Max Time=156
    select * from t3 where name = 'TEMPLATE'
    Count=7     Avg Time=19     Min Time=0     Max Time=32
    All these tables have less than 20 records and static tables.                    
    Do I need to create indexes on column name?

    A FTS even on very small tables can require more latches than accessing via an index. Also, a table access requires the segment header and data block to be accessed (2) whereas an index on a small index only requires access to the index root block and table block (2).
    True, it's unlikely to make much of a difference in most environments but if the table is really heavily accessed, indexing even very small tables can help to reduce the related latch overheads.
    Most of these small tables have PKs and are accessed via the PK so associated indexes usually exist anyways.
    Cheers
    Richard Foote
    http://richardfoote.wordpress.com/

  • Need to create search help for parameter 2 based on values in parameter1

    hi Specialists,
    I need to create a search help for parameters field 2 ( Country ) based on the values the user inputs in parameters field 1 ( Currency ). The values of field  Currency & Country will come from T001 table.
    The logic is : Based on a unique currency value ( fetched from T001 table ) user needs to get/see all Countries on his selection -screen.
    Can you guys let me know which FM can I use for above & how to pass various values i.e. parameters into that FM. EXplanation with an example/code is highly appreciable.
    Thanks
    Abhinav.

    Hi Abhinav,
    Use this demo code, its working:-
    This code selects sale document item based on the user entry for sales document on the screen field.
    REPORT  ztg_f1f4.
    CALL SCREEN 1010.
    *&      Module  GET_F4_HELP  INPUT
    *       text
    MODULE get_f4_help INPUT.
      TYPES : BEGIN OF it,
                posnr TYPE zvbap-posnr,
              END OF it.
      DATA : itab TYPE STANDARD TABLE OF it WITH HEADER LINE,
             tb_dynpfields LIKE dynpread OCCURS 0 WITH HEADER LINE,
             vbeln TYPE zvbap-vbeln.
      CLEAR:   tb_dynpfields.
      REFRESH: tb_dynpfields.
      MOVE 'ZVBAP-VBELN' TO tb_dynpfields-fieldname. "screen field name
      APPEND tb_dynpfields.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          dyname                               = 'ZTG_F1F4'
          dynumb                               = '1010'
    *   TRANSLATE_TO_UPPER                   = ' '
    *   REQUEST                              = ' '
    *   PERFORM_CONVERSION_EXITS             = ' '
    *   PERFORM_INPUT_CONVERSION             = ' '
    *   DETERMINE_LOOP_INDEX                 = ' '
    *   START_SEARCH_IN_CURRENT_SCREEN       = ' '
    *   START_SEARCH_IN_MAIN_SCREEN          = ' '
    *   START_SEARCH_IN_STACKED_SCREEN       = ' '
    *   START_SEARCH_ON_SCR_STACKPOS         = ' '
    *   SEARCH_OWN_SUBSCREENS_FIRST          = ' '
    *   SEARCHPATH_OF_SUBSCREEN_AREAS        = ' '
        TABLES
          dynpfields                           = tb_dynpfields
    * EXCEPTIONS
    *   INVALID_ABAPWORKAREA                 = 1
    *   INVALID_DYNPROFIELD                  = 2
    *   INVALID_DYNPRONAME                   = 3
    *   INVALID_DYNPRONUMMER                 = 4
    *   INVALID_REQUEST                      = 5
    *   NO_FIELDDESCRIPTION                  = 6
    *   INVALID_PARAMETER                    = 7
    *   UNDEFIND_ERROR                       = 8
    *   DOUBLE_CONVERSION                    = 9
    *   STEPL_NOT_FOUND                      = 10
    *   OTHERS                               = 11
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE tb_dynpfields INDEX 1.
      IF sy-subrc EQ 0.
        vbeln = tb_dynpfields-fieldvalue.
      ENDIF.
      SELECT posnr FROM zvbap
        INTO TABLE itab
      WHERE
        vbeln = vbeln.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
    *   DDIC_STRUCTURE         = ' '
          retfield               = 'POSNR'
    *   PVALKEY                = ' '
         dynpprog               = 'ZTG_F1F4'
         dynpnr                 = '1010'
         dynprofield            = 'POSNR'
    *   STEPL                  = 0
    *   WINDOW_TITLE           =
    *   VALUE                  = ' '
       value_org              = 'S'
    *   MULTIPLE_CHOICE        = ' '
    *   DISPLAY                = ' '
    *   CALLBACK_PROGRAM       = ' '
    *   CALLBACK_FORM          = ' '
    *   MARK_TAB               =
    * IMPORTING
    *   USER_RESET             =
        TABLES
          value_tab              = itab
    *   FIELD_TAB              =
    *   RETURN_TAB             =
    *   DYNPFLD_MAPPING        =
    * EXCEPTIONS
    *   PARAMETER_ERROR        = 1
    *   NO_VALUES_FOUND        = 2
    *   OTHERS                 = 3
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDMODULE.                 " GET_F4_HELP  INPUT
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • Need to create filter in reports

    hi ,
    i need to create a filter on my report .
    the filter for field contract end date.
    for exammple - the object which i need to create the filters (HDREN_DT -
      Remove records with value < System Date
    ) this is the logic so what i need to do i want to go for customer exit or what
    need to create 2 CKF
    Earliest Doc Header End Date     Calculated KF     Min (HDREN_DT)
    Oldest Doc Header End Date     Calcualted KF     Max (HDREN_DT)
    Can anyone give some idea how can i go with this one.
    i choosen a formula variable with replacement path for the both the fields. whether this option is right or wrong.
    please help me in this one
    Regards ,
    vijju

    Hi,
    You have correctly identified.
    To achieve the filter on HDREN_DT, you can declare an exit variable & write the code behind. But here I'd suggest implementing logic like Date greater than or equal to System date (instead of removing dates less than System date as it will improve the querying.
    For the 2 CKFs, you can try the formula variable concept.
    --Akash

  • Creating PS Network header with one activity

    I need to create to a projekt the network header with one activity. so I want top proceed the following coding:
         CALL FUNCTION 'BAPI_PS_INITIALIZATION'.
          CALL FUNCTION 'BAPI_BUS2002_CREATE'
            EXPORTING
              i_network = gs_network
            TABLES
              et_return = et_return.
          CALL FUNCTION 'BAPI_PS_PRECOMMIT'
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            IMPORTING
              return = es_return.
            CALL FUNCTION 'BAPI_PS_INITIALIZATION'.
            CALL FUNCTION 'BAPI_BUS2002_ACT_CREATE_MULTI'
              EXPORTING
                i_number    = ls_number
              TABLES
                it_activity = gt_activity.
            CALL FUNCTION 'BAPI_PS_PRECOMMIT'
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
              IMPORTING
                return = es_return.
    But I get an Runtime Error with "MESSAGE_TYPE_X" because the PRECOMMIT was not successful.
    Has anyone an idea how to handle that ??
    thx a lot
    Edited by: Rob Burbank on Nov 18, 2009 9:42 AM

    DATA: lt_return   TYPE TABLE OF bapiret2,
            l_wa_return TYPE bapiret2.
      CALL FUNCTION 'BAPI_PS_INITIALIZATION'
      CALL FUNCTION 'BAPI_BUS2002_CREATE'
        EXPORTING
          i_network = pi_wa_aufnr
        TABLES
          et_return = lt_return.
      READ TABLE lt_return WITH KEY type = 'S'
                           TRANSPORTING NO FIELDS.
      IF sy-subrc = 0.
        REFRESH lt_return.
        CALL FUNCTION 'BAPI_PS_PRECOMMIT'
          TABLES
            et_return = lt_return.
        READ TABLE lt_return WITH KEY type = 'S'
                           TRANSPORTING NO FIELDS.
        IF sy-subrc = 0.
          READ TABLE lt_return INTO l_wa_return INDEX 3.
          pc_aufnr_new = l_wa_return-message_v2.
        ENDIF.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          IMPORTING
            return = l_wa_return.
      ENDIF.
    this is the sample code to create network & to get the network number created

Maybe you are looking for

  • Installing Mac OS X onto an External Hard Drive

    Will installing Mac OS X onto an external hard drive erase or mess with in any way files that are already on the external hard drive? Can I safely install Mac OS X to an external hard drive that already has stuff on it to make it a bootable volume an

  • Alv report in PP

    ·     I have a requirement to prepare alv report to know the Production order details having the status REL (Released), CSER (Error in cost calculation). someone let me know the tables and the fields that i need to use in this report. thank you.

  • Grayscale to RGB Confusion

    Hi guys, please try this: 1) new image, grayscale 2) fill (say 96,96,96) 3) image->mode->rgb color The pixels will be (95,95,95) and (96,96,96) when they should *all* be the same. It also happens when you paste a black & white image into an RGB docum

  • What is the fastest way to detect on to off tag transition​s and then read 500 analog tags?

    what would be the fastest way to read 500 analog tags from the tag engine when a boolean tag transitions from on to off?? Right now I have a boolean indicator setup with the HMI wizard in a while loop with 20ms timer. The indicator feeds the boolean

  • How to install watsapp on ipad

    problem installing watsapp on my ipd please help