Guidance required: How to access global panel/file handles from within a dll?

Hi again,
I have been tasked with trying to separate an application into a modular form, basically I will have a main application which will be a generic GUI which must be associated with a DLL that contains test sequences. Currently these test sequences make calls to the various panel controls to display the test information, this currently works great. The problem that I am having is trying to understand code that is compiled to create a DLL is made aware of, what is essentially, global constants that are defined in my main application. 
The purpose of this structure is that we will have a generic GUI for multiple products tests, with each DLL representing a different products test sequence, each DLL will be built using the same framework with the generic GUI in mind. 
I guess essentially what I am looking for is to call RunUserInterface() from main.exe and control the GUI from tests.dll. Is this at all possible, or should I be using a different approach?
It would be much appreciated if someone could give me some pointers.
Thanks very much 

Well, in my opinion for such a software design, DLL modules should not directly modify the main GUI.
The main.exe should be responsible from its GUI, so that in case of a GUI modification you should not be have to modify all DLLs.
Also, in this case, there is no problem of accessing global handles, etc.
Instead, you should send "messages" to the main.exe from the test DLLs and the GUI should know what to do with each message.
For messaging between such applications I personally use the DDE library. I find it simple to use.
Your main.exe can setup a DDE server and the test DLLs can attach to it as a client.
Each DLL can send its "steps" to the GUI and the GUI can display them and command the DLL to run each step upon user's selection. 
I have seen menchar's posts regarding "shared memory" usage for such purposes.
There might be other options, too. 
It is your decision to make.
Hope this helps, 
S. Eren BALCI
www.aselsan.com.tr

Similar Messages

  • How to access/open rpd files in offline mode from client desktop

    Hi All,
    Please tell me what configuration settings I need to have on my desktop to access RPD files stored on BI server?
    In our OBIEE environment, we have BI server installed on linux server, and I have installed BI admin tool on my desktop (Windows OS).
    I need to know what settings I should configure in my NQSConfig.ini file on my desktop so that I can access rpd files stored on BI server...
    I can access online RPD using BI server ODBC connectibity, but want to access other offline RPD files stored in repository directory on linux server where OBIEE 11g server installation is done.
    Thanks and Regards
    Santosh
    Edited by: 910192 on 22-Feb-2012 08:09

    Saichand,
    Highly appreciate your response.
    But wht I am looking for is how to access other RPD files stored in repository folder on server machine where BI server is running, from BI administration tool which is installed on my desktop
    I am able to access default online repository on BI server using ODBC configuration from BI admin tool on my desktop, but want to access other rpd files (lets say sample rpd files which are installed on BI server machine) using (file->open-offline) option.
    As per Jay, it seems it is not possible to access repositories other than online repository on BI server, and I will have to copy those rpd files on my desktop and then access using file->open->offline option in BI admin tool.
    If you have any other way of doing this or have done this somehow , please let me know.
    Thanks and Regards
    Santosh

  • How To Access a jar file present outside the war file through a jnlp

    Aoa
    I m new to this forum
    I m having problem with my jnlp file
    i want to know is there any way to access a jar file through jnlp.The problem is that my jnlp file is present in the war file
    and i want to know how to acess a jar file through this jnlp.The scenerio is as below
    I m using ear file on jboss.Its hirerchy is as
    -PAN-war.war
    -launch.jnlp
    -PAN-app-client.jar
    my jnlp file is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="http://localhost:8080/" href="PAN/launch.jnlp">
    <information>
    <title>PanEmirates</title>
    <vendor>M Fazal Ur Rehman</vendor>
    <description>PanEmirates</description>
    <description kind="short">PanEmirates</description>
    <homepage href=""/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.5+"/>
    <jar href="PAN-app-client.jar" download="eager"/>
    <jar href="lib/javafxrt.jar" main="true" download="eager" />
    <jar href="lib/Filters.jar" download="eager"/>
    <jar href="lib/javafx-netbeans-fxuserlib.jar" download="eager"/>
    <jar href="lib/swing-layout-1.0.3.jar" download="eager"/>
    </resources>
    <application-desc main-class="net.java.javafx.FXShell">
    <argument>pan.Main</argument>
    </application-desc>
    </jnlp>
    when i run launch.jnlp file it says unable to download resource http://localhost:8080/PAN/PAN-app-client.jar
    how to access this jar file
    Any help or comment would be highly appreciated
    Regards
    M Fazal Ur Rehman

    Excellent question. I don't see any client-jar in your EAR file structure. So I am assuming you are writing a separate client application which will talk to the ejbs deployed as part of this EAR. You need to do the following:
    Write another EAR file with the following structure:
    ear:
    META-INF/application.xml
    util.jar
    client.jar
    client.jar should have a META-INF/MANIFEST.MF and that should contain Class-Path:util.jar and value for Main-Class attribute.
    Now deploy this new ear to your application server and execute it using Application Client Container that comes with your app server.
    If you don't want to write another EAR file, then bundle th client.jar in your original EAR file.
    Points to note are:
    you have to repackage util.jar again inside this ear file.
    For portability reason, you should use Class-Path manifest entry in client.jar. Refer to http://java.sun.com/j2ee/verified/packaging.html and J2EE platform spec section #8.2.
    Hope this helps,
    Sahoo

  • How to access the *.java file corresponding to a TypeElement T?

    Here is a problem:
    How to access the *.java file corresponding to a TypeElement T from a AnnotationProcessor environment?
    Let us say the hook method
    public boolean process(Set<? extends TypeElement> annos, RoundEnvironment roundEnv)
    is invoked with a TypeElement T such that T.getQualifiedname() = "a.b.c.X"
    And the problem is how to locate the file that has the *.java source code for a.b.c.X?
    That is the file that has the source code for a.b.c.X say "some/path/a/b/c/X.java"?
    For simplicity, let us assume that TypeElement T corresponds to a top-level Java class.

    Pinaki wrote:
    That is not something you as the annotation processor author should be asking about. That is something you the person configuring the javac environment should set up via the -d option or its equivalent.
    I strongly recommend using a separate output directory hierarchy.That is the way the current implementation is. The annotation processor takes a -Aout= <some directory path> to write generated output relative to a user-specified location (which defaults to the class output location).That is contrary to the design of the annotation processing facility. The intended use is for that information to be configured via options like "javac -d".
    Additionally, IMO it is a serious configuration error to put generated files and input files, presumably tracked under version control, in the same directory. Interesting you said that. We are just running some "field trial" with these things and some users want them to be in the same directory of the original *.java files (especially when their source files are spread across many roots) .
    Who knows what the user wants?The user does and the user is free to (mis)configure their environment however they like ;-) However, that is the user's option and the user has control of this via the javac command line. The annotation processor is not the proper place to configure this setting; see slide 7 of http://blogs.sun.com/darcy/resource/J1_2006-BOF-0606.pdf for some thoughts on different roles in annotation processing.
    presumably tracked under version control, in the same directory.version control is another 'usability issues' that we are trying to get our heads around with this stuff. "To check-in or not?" - that seems to be the question. When presented these facilities without any cue, "the users" were divided -- some wanted them to be checked-in, some did not. The context where these generated files being used -- there exists some rationale to check them in a version control system.The right answer depends on the circumstances, but IMO generally generated files should not be checked in under version control, especially if they are derived from other source files. Checking in generated files of this nature just creates the opportunity for them to get out of date with the originating files.

  • How to access *.MDF(Databaee file) from JDBC

    Hi Everybody,
    any one know How to access *.MDF(Databaee file) from JDBC ?
    Thanks in advance.
    HHHHHHHHH

    Get the Microsoft SQL Server JDBC driver and follow the directions in its documentation.

  • How do I access BSD file tree from within Linux?

    I just installed PC-BSD 8.0 RC on an external USB HDD.  I went with the PC-BSD default partition layout, i.e. one primary partition for the entire PC-BSD slice, and 4 "partitions" within that slice, for /, swap, /usr and /var.
    In order to access the PC-BSD file tree from within Linux, I mount it as follows:
    mount -t ufs -o ufstype=ufs2,ro /dev/sdb1 /mnt/bsd
    But after executing this command I can only access the PC-BSD / , not /usr and /var , presumably because they reside on two BSD "partitions" (subslices) different from / .  Is there any way I can mount these (read-only) in Linux, too, or would I have to reinstall PC-BSD and opt for laying out the slice differently, i.e. specifying only / and swap in sdb1?
    Last edited by RobF (2010-02-13 11:55:39)

    Look at  /dev/sdb*  there should be more than just sdb1.  You would need to mount those to see which is which.  For ufs write support the default kernel needs to be recompiled with experimental enabled.

  • How can I assign image file name from Main() class

    I am trying to create library class which will be accessed and used by different applications (with different image files to be assigned). So, what image file to call should be determined by and in the Main class.
    Here is the Main class
    import org.me.lib.MyJNIWindowClass;
    public class Main {
    public Main() {
    public static void main(String[] args) {
    MyJNIWindowClass mw = new MyJNIWindowClass();
    mw.s = "clock.gif";
    And here is the library class
    package org.me.lib;
    public class MyJNIWindowClass {
    public String s;
    ImageIcon image = new ImageIcon("C:/Documents and Settings/Administrator/Desktop/" + s);
    public MyJNIWindowClass() {
    JLabel jl = new JLabel(image);
    JFrame jf = new JFrame();
    jf.add(jl);
    jf.setVisible(true);
    jf.pack();
    I do understand that when I am making reference from main() method to MyJNIWindowClass() s first initialized to null and that is why clock could not be seen but how can I assign image file name from Main() class for library class without creating reference to Main() from MyJNIWindowClass()? As I said, I want this library class being accessed from different applications (means different Main() classes).
    Thank you.

    Your problem is one of timing. Consider this simple example.
    public class Example {
        public String s;
        private String message = "Hello, " + s;
        public String toString() {
            return message;
        public static void main(String[] args) {
            Example ex = new Example();
            ex.s = "world";
            System.out.println(ex.toString());
    }When this code is executed, the following happens in order:
    1. new Example() is executed, causing an object to constructed. In particular:
    2. field s is given value null (since no value is explicitly assigned.
    3. field message is given value "Hello, null"
    4. Back in method main, field s is now given value "world", but that
    doesn't change message.
    5. Finally, "Hello, null" is output.
    The following fixes the above example:
    public class Example {
        private String message;
        public Example(String name) {
            message = "Hello, " + name;
        public String toString() {
            return message;
        public static void main(String[] args) {
            Example ex = new Example("world");
            System.out.println(ex.toString());
    }

  • How do I move a file directly from the desktop to a folder in OX 10?

    I am new to Mac and the Mountain Lion software.  Having worked exclusively with PC operating systems, I am familiar with how to work with files in Windows, but am having trouble doing similar actions in OX 10.  How do I move a file directly from the desktop to a folder in OX?  Although this answer is likely in a video tutorioal (somewhere), I do not have the time to sit an arbitrarily watch generic OS videos that give a broad brush overview, without answering specific queries.  Any help out there?

    You might fun http://www.apple.com/support/macbasics/ to be of help to get used to doing things the Mac way.
    Allan

  • How to email a .zip file attachment from PC

    Hi,
    Please, let me know how to email a .zip file attachment from Presentation Server.
    Thanks,
    Madhuri.

    Hi,
    try fm SO_DOCUMENT_SEND_API1
    it's well documented (look with SE37)
    and look here:
    /people/thomas.jung3/blog/2004/09/08/sending-e-mail-from-abap--version-610-and-higher--bcs-interface
    regards Andreas

  • How to get list of file names from a directory?

    How to get list of file names from a directory?
    Please help

    In addition, this:
    String filename = files;Should be this:
    String filename = files;
    That's just because he didn't use the "code" tags, so [ i ] made everything following it become italicized.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How to import a *.dmp file (exported from 10g) to 8i database?

    Hi everybody!
    Could anybody tell me how to import a *.dmp file (exported from 10g) to 8i database?
    I have tried but it seemed to be error "wrong version".
    Thanks a lot!

    From 10.1.0 to 8.1.7 => Use the EXPORT 8.1.7 to export the data from the 10.1.0 database and IMPORT 8.1.7 to
    import the data into the 8.1.7 database.
    Metalink note 132904.1 Subject: Compatibility Matrix for Export & Import Between Different Oracle
    Nicolas.

  • How do i recover a file deleted from iCloud on my iPad

    how do i recover a file deleted from iCloud on my iPad? It's a pages document

    check at https://www.icloud.com/ to see if the file is saved there in documents or iCloud drive
    if not check under settings > iCloud > storage > manage storage and see if there is a backup of the iPad from when the document was still saved
    if there is restoring your iPad form that backup may recover it
    Restore your device from an iCloud or iTunes backup - Apple Support
    if there is not then check to see if it is still saved on any other computers or devices to see if it is saved there
    good luck

  • How To Access PAGE ITEM (single row) from HTML source

    Hi Guys,
    I have a page Item that return a string.
    I would like to show this string
    How To Access PAGE ITEM (single row) from HTML source?
    My desire final output is
    <marquee>:P1_PAGE_ITEM</marquee>
    Can please help me
    Thanks

    Hi,
    You can refer the page items in your page header as &itemname. For example, if I have page item P15_TEST, I will add the following in header:
    <marquee>
       &P15_TEST.
    </marquee>But make sure that you have a process before header to populate the value in your page item. Otherwise, there will be a null scrolling (which you can't see!) :)
    Regards,
    Zahid

  • How do I transfer video files shot from my camera (Canon 5DMk2) which is in .MOV format into iTunes ?

    how do I transfer video files shot from my camera (Canon 5DMk2) which is in .MOV format into iTunes ?  My photos and video files are first imported into Aperture then synced with iTunes. However, itunes does not capture the Video files but uploads the phtos from Aperture during sync.
    I tried dragging the video files into iTunes but it still would not be captured into iTunes ?
    Appreciate any help on this. Thanks

    Open them in Quicktime Player 10.1. Then, use Quicktime's Share menu > iTunes.  That will create an iTunes compatible version and automatically load it into your iTunes movie library.

  • Finding open file handles from core file using mdb/dbx

    Is it possible to find open file handles from a core file? The env is Solaris 5.10 SPARC.
    regards
    becks

    Interesting question, but it's more about Solaris OS/libraries than about Sun Studio C++ compiler. While there's a chance of getting it answered here, I also recommend to post the same question on one of the OpenSolaris forums:
    http://www.opensolaris.org/jive/index.jspa?categoryID=1
    For example, mdb forum:
    http://www.opensolaris.org/jive/forum.jspa?forumID=4

Maybe you are looking for

  • Is there a way to create a paid Membership site using Muse?

    A client is wanting a website that has an area that is available to paid memberships. I have already read on how to create the secure zones, just wondering if there was a way to create a paid membership portion to the form. I have seen several hints

  • Password protecting a Zip file in windows 7

    So I am trying to figure out how to password protect a zip file using the built in zipping utility in windows 7.  In windows xp and vista once you have created a zipped file you open the file and select file>add password. In windows 7 (currently usin

  • Controlling Multiple USB Webcams

    I am currently using Pete Parente's webcam toolkit (www.mindofpete.org)) in order to capture a single image from a webcam. However, I am in need of controlling multiple webcams. I do not wish the take the pictures simultaneously. I am looking to turn

  • Best Traveling case for video editors.

    Any suggestions for traveling with a 17" MBP to do editing work? I need to carry on the plane my 17" MBP along with the cables needed to connect everything on site. I will put the rest of my gear in my suitcase. I was using my Brenthaven with my old

  • Sending mail with php via postfix to EIMS running on the same machine.

    Hello it was suggested I clarify and repost this question as previously I had posted it in a already answered thread, I am running EIMS as my mail program on my Mac OS 10.4.6 Server for email. http://www.eudora.co.nz/ I need to send email through the