User feedback with maxChar attribute on TextInput

I have a textinput with maxChars=6
i would like to have some sort of user feedback when they attempt to type the 7th char.  (red border, tooltip, etc...)
what would be the ideal way to achieve this?
I don't see where there is an event dispatched when a user tries to type the 7th char ?

Hi there,
The change event would be a solution but a slightly more efficient solution would be to simply listen for a keyDown event. Here's a fast example that hopefully will help you get on the right track:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx            ="http://www.adobe.com/2006/mxml"
    backgroundColor     ="#FFFFFF"
    layout              ="absolute">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.events.FlexEvent;
            import mx.controls.TextInput;
            private static const ALLOWED_MAX_CHARS:int = 6;
            private function onInputFieldFill(event:KeyboardEvent):void
                if (event.charCode != Keyboard.LEFT &&
                    event.charCode != Keyboard.RIGHT &&
                    event.charCode != Keyboard.UP &&
                    event.charCode != Keyboard.DOWN)
                    var target:TextInput = event.currentTarget as TextInput;
                    if (target.text.length > ALLOWED_MAX_CHARS - 1)
                        target.text = target.text.slice(0, ALLOWED_MAX_CHARS);
                        Alert.show("You tried to add 7 characters!", "ERROR");
        ]]>
    </mx:Script>
    <mx:VBox
        width               ="100%"
        height              ="100%"
        horizontalAlign     ="center"
        verticalAlign       ="middle">
        <mx:TextInput
            id              ="userInputField"
            keyDown         ="onInputFieldFill(event)"/>
    </mx:VBox>
</mx:Application>
The code I posted is not perfect, it's an older file of mine that I have found and edited a bit so don't use it as it is.
Blog: http://blog.wisebisoft.com
With best regards,
Barna Biro

Similar Messages

  • Controll user access with internal attribute date

    I all.
    i've created an internal attribute called Date-of-validity  of type Date.
    the objective is to controll user access based on the date configured in this attribute and permit acces only when the date as not been reached.
    who do i control-it, putt the acs looking to the date in an autommated way.
    thanks in adv
    Antero Vasconcelos

    It is possible to define an internal user whose password is taken from an external store.
    In internal user definition select "Password Type" to be the LDAP database and then define the rest of the user definition, including identity groups, as desired

  • [svn:fx-trunk] 9703: Addressing NativeDragManager issue where we would inadvertently replace the users drag drag feedback with our default .

    Revision: 9703
    Author:   [email protected]
    Date:     2009-08-27 12:51:06 -0700 (Thu, 27 Aug 2009)
    Log Message:
    Addressing NativeDragManager issue where we would inadvertently replace the users drag drag feedback with our default.
    QE notes: None
    Doc notes:  None     
    Bugs: SDK-20458
    Reviewer: Jason
    Tests run: Checkin
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-20458
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as

  • Sflock: simple X screen locker with basic user feedback

    There are several applications out there that lock the X display. On the one side of the spectrum you have xscreensaver and xlockmore which provide screensavers and on the other side you have slock which provides nothing. sflock is an application that is built as an extension to slock, which provides very basic user feedback.
    The need for me arrived because I wanted a screen locker that was trustworthy and that looks ok. Because I have no interest in screensavers and the xscreensaver unlock screen is one of the most ugly things I have ever seen, I turned to slock. This works fine, but there is no real way to tell that the screen is locked.  You just type a password on a black screen and if it's correct, the screen gets unlocked. fslock (at least the first version) shows a line on the screen and displays asterisks for every character entered.
    The goal of the application is to be simple and small, but still look good. You can install sflock from the AUR under the name sflock-git or download it directly from github. Suggestions are of course welcome.

    I've been trying to get this to use Xft for rendering the fonts, but this is essentially my first time doing anything in C. Sflock builds properly but segfaults when I try to run it.
    diff --git a/config.mk b/config.mk
    index 3a42077..b6a72ed 100644
    --- a/config.mk
    +++ b/config.mk
    @@ -12,8 +12,8 @@ X11INC = /usr/X11R6/include
    X11LIB = /usr/X11R6/lib
    # includes and libs
    -INCS = -I. -I/usr/include -I${X11INC}
    -LIBS = -L/usr/lib -lc -lcrypt -L${X11LIB} -lX11 -lXext
    +INCS = -I. -I/usr/include -I${X11INC} -I/usr/include/freetype2
    +LIBS = -L/usr/lib -lc -lcrypt -L${X11LIB} -lX11 -lXext -lXft
    # flags
    CPPFLAGS = -DVERSION=\"${VERSION}\" -DHAVE_SHADOW_H
    diff --git a/sflock.c b/sflock.c
    index 72b076b..3c51823 100644
    --- a/sflock.c
    +++ b/sflock.c
    @@ -12,10 +12,12 @@
    #include <string.h>
    #include <unistd.h>
    #include <sys/types.h>
    +#include <fontconfig/fontconfig.h>
    #include <X11/keysym.h>
    #include <X11/Xlib.h>
    #include <X11/Xutil.h>
    #include <X11/extensions/dpms.h>
    +#include <X11/Xft/Xft.h>
    #if HAVE_BSD_AUTH
    #include <login_cap.h>
    @@ -79,7 +81,10 @@ main(int argc, char **argv) {
    XColor black, red, dummy;
    XEvent ev;
    XSetWindowAttributes wa;
    - XFontStruct* font;
    + XftFont *font;
    + XftColor *xftcolor;
    + XftDraw *xftdraw;
    + XGlyphInfo *extents;
    GC gc;
    XGCValues values;
    @@ -145,14 +150,14 @@ main(int argc, char **argv) {
    XDefineCursor(dpy, w, invisible);
    XMapRaised(dpy, w);
    - font = XLoadQueryFont(dpy, fontname);
    + font = XftFontOpenXlfd(dpy, screen, fontname);
    + XftColorAllocName(dpy, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen), "white", xftcolor);
    if (font == 0) {
    die("error: could not find font. Try using a full description.\n");
    gc = XCreateGC(dpy, w, (unsigned long)0, &values);
    - XSetFont(dpy, gc, font->fid);
    XSetForeground(dpy, gc, XWhitePixel(dpy, screen));
    for(len = 1000; len; len--) {
    @@ -187,7 +192,8 @@ main(int argc, char **argv) {
    if (update) {
    XClearWindow(dpy, w);
    XDrawLine(dpy, w, gc, width * 3 / 8 , (height + baroffset) / 2, width * 5 / 8, (height + baroffset) / 2);
    - XDrawString(dpy,w,gc, (width - XTextWidth(font, passdisp, len)) / 2, (height+42) / 2, passdisp, len);
    + XftTextExtentsUtf8(dpy, font, (XftChar8 *)passdisp, len, extents);
    + XftDrawStringUtf8(xftdraw, xftcolor, font, (width - extents->width) / 2, (height+42) / 2, (XftChar8 *)passdisp, len);
    update = False;
    @@ -251,7 +257,9 @@ main(int argc, char **argv) {
    XUngrabPointer(dpy, CurrentTime);
    XFreePixmap(dpy, pmap);
    - XFreeFont(dpy, font);
    + XftFontClose(dpy, font);
    + XftColorFree(dpy, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen), xftcolor);
    + XftDrawDestroy(xftdraw);
    XFreeGC(dpy, gc);
    XDestroyWindow(dpy, w);
    XCloseDisplay(dpy);

  • Is there support in certmap.conf for using DN's with dc= attributes

    Hi Folks-
    The Question:
    Is there any support on certmap.conf (or the like) for dealing with suffixes that use the "dc=example,dc=com" format (in either 5.2 or 6.0)?
    The Details/Background:
    Like many places our suffixes are named ending with "dc" attributes (e.g. dc=example,dc=com). I've been setting up SSL Client Certificate based authentication. It's working via the CmapLdapAttr with a custom attribute/class added to the schema (I haven't finished with VerifyCert yet).
    The docs say that DNComps and FilterComps support the following RDN keywords: cn, ou, o, c, l, st, e, and mail. Notably missing from both is "dc". This seems to leave no valid value for DNComps (forcing all the searches to be across ALL suffixes including cn=config and co). With those global searches FilterComps also seems to be fairly limited (especially if uid is not part of the Certificate's Subject DN which it arguably shouldn't be in many situations).
    It seems all I'm left with is CmapLdapAttr (after creating the custom attribute & class) with every search across all suffixes. I don't think I can (or should) place indexes in the stuff in dse.ldif, hopefully they won't stop the other suffixes to be searched using their indexes and these should be small enough (and hopefully in memory) that they don't make a real difference.
    Thanks,
    -Scott-

    Ok, so as far as I can tell that just leaves using "CmapLdapAttr" with a custom attribute (& class) extension to the schema.
    Since I won't be able to restrict the suffix being searched it's going to do at least 6 separate scans: one each on userRoot (and any other user suffixes), NetscapeRoot, "", cn=schema, cn=config, and cn=monitor (based on what it's reported in the logs already).
    (1) Am I correct in my assumption that creating indexes on attributes in the suffixes in dse.ldif is probably not possible and would be a bad idea?
    My guess is that everything in dse.ldif gets loaded into memory on startup and stays there. Also these aren't that big so the combination should mean that their search time is negligible.
    (2) When automatically searching all 6+ suffixes (on every client certificate authenticated connection) will it perform indexed searches on userRoot & NetscapeRoot (assuming the correct indexes exist for CmapLdapAttr) and unindexed searches for the suffixes in dse.ldif? Or will the lack of indexes in the dse.ldif suffixes cause all of the searches to be unindexed?
    (3) Is there something I'm missing that would be a better approach?
    Thanks,
    -Scott-

  • Can Shuttles be based non-base  table ViewObjects with transient attributes

    Hello,
    Users have to select records from a data collection and a Shuttle looks most appropriate/nice for this purpose. We can introduce technical intersection tables in order to generate the Shuttles with JHeadstart 10g R3 if necessary, but there is no “functional” need to update any data in the database and therefore it would be practical if the ‘right’ side from a Shuttle can be based non-base table ViewObjects with transient attributes only. So, our interested is to know which records have been selected, i.e. moved to the right side from the Shuttle.
    Hope that my question is clear enough.
    Greetings,
    Michael

    Michael,
    This cannot be generated out-of-the-box.
    It is easiest to add the shuttle post-generation to your page, and then create a custom template to generate your custom shuttle into the page. I suggest you take a look at an example of a generated shuttle in a page, and the JHeadstart IntersectionShuttleBean class. You will see that the value property of <af:selectManyShuttle> points to the selectedKeys method in the JHeadstart Shuttle bean. In your case, you can create your own managed bean and bind the value property to your own method which will provide you access to the selected rows. The value property of the selectItem within the af:selectManyShuttle determines the property that is used to identify the selected row (which is the row key in case of Jhs-generated shuttles).
    Steven Davelaar,
    JHeadstart Team.

  • Developing a User Interface with ADF Faces - Tutorial - Questions

    Hello everybody,
    I am a forms developer and I am totally new to ADF.
    I started from the tutorials : Developing Business Services with ADF BC and Developing a User Interface with ADF Faces...
    Everything was easy and very clear, as far as the material covered in the tutorial is concerened.
    But when I tried to modify a little bit the application, to perform a different task... disaster!!! :-)
    One of the "simple" things that I tried to do -for example- is :
    In the login.jspx, where we have created an ADF Parameter form (that accepts as a parameter the customer ID) and
    retrieves in the next page the Orders of the specific customer.... to Display a message, such as "+Customer Does Not Exist+"
    if the user types in the parameter form an not existent customer ID...
    I understand that I should use a validator.... But I cannot find the list validator (from query) in the bind variables not in the ADF Parameter Form Fields....
    Does anyone know?
    Regards,
    Maira Kotsovoulou

    Dear Grant,
    CustomerID is in the UI Project, and appears as a part of an ADF Parameter Form... and I can not find key exists in the UI Validators....
    CustomerID in the .entities is a bind variable in a query. select ... from customers where customer_id = :p_customer_id. Again KEYEXISTS validator is not available in the bind variables sections... Only in the attributes!!!
    I understand that the "normal" behavior in a query with bind variables where there is no match is to display nothing as it does!!!
    But I was just wondering, if I could even trap that before I display the empty form...? Or could I display a text in my ADF form, that says no rows... (as I can do in an ADF Table???)

  • h:inputTextarea with AutoComplete attribute???

    Hi frnds,
    I have got a strange requirement,i.e i have to make a <h:inputTextarea>
    with AutoComplete attribute.so that it il suggest the user with a list of
    previously entered values.
    Is thr any way to achieve this using javascript or with AJAX???
    It il be great,if i am given with some samples.
    Thanks in advance,
    sundar

    Well there are many open source AJAX JSF libraries available which can cater your requirement.checkout the below links and choose respetive component which might suit your requirement.
    http://facestutorials.icefaces.org/tutorial/autocomplete-tutorial.html
    http://technology.amis.nl/blog/?p=1821
    http://www.oracle.com/technology/products/jdev/tips/mills/ajaxautosuggest/ajaxautosuggest.html
    http://labs.jboss.com/file-access/default/members/jbossrichfaces/freezone/docs/tlddoc/index.html
    http://jsf.javabeat.net/articles/2007/06/introduction-to-ajax4jsf/3
    Hope these might help :)
    REGARDS,
    RaHuL

  • Updating user image with API

    We're running portal 9.0.4.1.0 (db is 9.0.1.5.0).
    I have both dbms_ldap and java working, updating text attributes of a user in th eOID (name, phone etc).
    How can I use any of the methods for setting a new jpegphoto for a user?
    With dbms_ldap I've gotten it to run without error but with no effect.
    Java gives me "javax.naming.directory.InvalidAttributeValueException: Malformed 'jpegphoto' attribute value;"
    This version of dbms_ldap doesn't have blobs, just raws.
    Any ideas?
    Kind regards
    Tomas Albinsson

    Tomas,
    I don't have an example... but careful cause the DBMS_LDAP API has support for binary attributes of sizes till 32k in 9x DB version. Why you don't use the ldapadd functionality? It will be a lot easier... Plus the images are not something you change that often.
    I hope it helps...
    Cheers,
    Pedro.

  • Creating user accounts with OIDDAS and use them from the OS

    Hi,
    I have a customer that is experiencing an error creating user accounts from OIDDAS, and use that user accounts from the operating system.
    My customer is using OID/OAS4OS 10.1.4.2.0, and that version is not longer available to download, then, I will try in my own environment
    with OID/OAS4OS 10.1.4.3.0.
    And the question is the following: is supported to create user accounts with OIDDAS and expect that users can work with OAS4OS and be
    able to authenticate in the operating system?
    For the reference, SR# 7222351.993:
    Thanks,
    Luis Vivero.
    Edited by: LV in ORCL on Dec 11, 2008 6:47 AM

    Hi Jacco,
    I didn't see your post before.
    Nop, unfortulately I don't have a document with that. I just received that answer
    from development (related to the plugin for AD that is not certified, and DAS is
    not intended to work with OAS4OS).
    Anyway, about the plugin to work with AD, this is working for me; at least I tested
    it by configuring the plugin, I configured synchronization, the mapping file, I did
    the bootstrap, and the accounts that were bootstraped now shows the OS attributes
    on DAS.
    Regards,
    Luis Vivero.

  • User feedback on project

    I want to insert a link in my email that a user can click to
    open an email to send me questions, suggestions. Has anyone done
    this? I do not have RoboHelp Server 6, which offers reports in some
    form about users. I simply would like to have the users be able to
    contact me directly so that I can be more proactive and responsive
    to their concerns and issues.

    Peter, I went to your Website and reviewed snippets. I found
    only one topic that might be close to my question - "Mail This
    Topic". I reviewed the information, but it is not quite what I
    need. What I want is to put a link in one or more of my topics -
    such as the overview I do for each section, that says something
    like, "Send your comments or suggestions to Kitty Martin." This is
    for internal help files and thus the link would be to my email
    address within my company. When the user clicks on the link in that
    topic, the Help system displays/opens an email message. The To:
    contains my email address and user can write message about the
    topic.
    I read about this last fall in a STC Intercom July/August
    2006 article "Obtaining User Feedback:" Author is Jeremy Webb and
    it was about sending an email message using JavaScript. I followed
    his instructions, but ultimately the link would not work. I
    corresponded with him, showed him exactly what I had done, and he
    verified everything was okay. But still didn't work. When I
    previewed my topic I kept getting RH HTML messages about the
    reference to the feedback.js file contains illegal characters and
    will not be shown in Project Manager.
    The basic steps for his process involved creating the message
    in Notepad, saving as "feedback.js", copying that Notepad file and
    pasting it into the project top folder. Then you add the
    Feedback.js file to the RH Baggage file, add links in topics to the
    Feedback function. Then you also have to add some text to the
    TrueCode in the topics.
    Since his process has not worked for me, I a searching for
    another way. I have been requested to include this feedback option
    in my new project. Last fall I was using RH5 for projects, so I
    thought perhaps it would be different now that I have RH6. Still
    doesn't work.

  • RE: (forte-users) Confusion with return event

    Samer,
    The return event is delivered to the calling task, which is the window in
    your first test. It is not deliverd to the event loop of the service object
    unless the call to the processor originated in the event loop, which is the
    case in your second test. The output you get from the server is exactly as I
    would expect.
    You need the following code in you client:
    event loop
    postregister
    SomeService1.StartImmediate();
    when SomeService1.Proc.ProcessEvent_return do
    task.Part.Logmgr.Putline('ProcessEvents_return');
    when SomeService1.Proc.ProcessEvent_exception do
    task.Part.Logmgr.Putline('ProcessEvents_exception');
    end event;
    Note that this logoutput will not be written to a logfile, but will appear
    in the logwindow which is opened when you start a client application.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Samer Kanjo [mailto:skanjoyahoo.com]
    Sent: Thursday, January 18, 2001 1:54 AM
    To: ForteUsers
    Subject: (forte-users) Confusion with return event
    I have observed some odd behavior when attempting to
    catch a return event for a method invoked using start
    task. I provided the primary classes I used during my
    test and some output produced by those classes at the
    bottom of this message.
    The SomeService1 class is used to create an
    environment visible service object and the Processor
    class is one of its members. The Processor class
    starts processing when one of two things happens: the
    SomeService1 timer ticks off 10 seconds or when
    SomeService1.StartImmediate is called directly by
    another entity. Either way StartImmediate is called to
    start processing.
    The provided output is the result of starting a test
    application and invoking StartImmediate from another
    object (I used a window) and then observing what
    happens when the timer ticks. As you can see the
    invocation from the window did not result in the
    return event being received. However, the return event
    was received when the timer ticked.
    According to the Forte documentation a return event
    will only be posted to the parent task's event queue.
    Since I am making a cross partition call, the window
    and service object are not really in the same task
    (Unless my assumption is wrong). That would explain
    why the window did not cause a return event to be
    generated but was an event generated but not caught
    and if so where did the event go?
    In SomeService2 class I added an event StartProcessing
    and moved the code from StartImmediate to the
    StartProcessing event case in the event loop and
    simply posted the StartProcessing event in
    StartImmediate. I performed the same test I used when
    testing SomeService1. The Traceback output is
    identical for the window invocation but the return
    event is received this time! Why?
    It seems that to guarantee the receipt of a return
    event an asynchronous task must be initiated from
    within an event loop. Is this correct?
    I do not understand this behavior does someone have
    any thoughts on this? How can you guarantee the
    receipt of a return event?
    Samer Kanjo
    OUTPUT FROM SOMESERVICE1
    StartTaskTest_cl0: processing loop listening
    StartTaskTest_cl0:
    Traceback:
    SomeService.StartImmediate at line 1
    TestWin.Display at line 4
    C++ Method(s)
    UserApp.Run at offset 105
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0:
    Traceback:
    SomeService.StartImmediate at line 1
    SomeService.ProcessingLoop at line 9
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0: ProcessEvents_return
    OUTPUT FROM SOMESERVICE2
    StartTaskTest_cl0: processing loop listening
    StartTaskTest_cl0:
    Traceback:
    SomeService2.StartImmediate at line 1
    TestWin.Display at line 4
    C++ Method(s)
    UserApp.Run at offset 105
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0: ProcessEvents_return
    StartTaskTest_cl0:
    Traceback:
    SomeService2.StartImmediate at line 1
    SomeService2.ProcessingLoop at line 9
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0: ProcessEvents_return
    SOMESERVICE1 CLASS
    begin CLASS;
    class SomeService1 inherits from Framework.Object
    has public attribute proc: StartTaskTest.Processor;
    has public attribute processing: Framework.boolean;
    has public method Init;
    has public method ProcessingLoop;
    has public method StartImmediate;
    has property
    shared=(allow=off, override=on);
    transactional=(allow=off, override=on);
    monitored=(allow=off, override=on);
    distributed=(allow=on, override=on, default=off);
    end class;
    method SomeService1.Init
    begin
    super.Init();
    processing = FALSE;
    proc = new;
    start task ProcessingLoop();
    end method;
    method SomeService1.ProcessingLoop
    begin
    timer : Timer = new;
    timer.tickInterval = 10000;
    event loop
    task.part.logmgr.putline('processing loop
    listening');
    timer.isActive = TRUE;
    when timer.tick do
    StartImmediate();
    when proc.ProcessEvents_return do
    task.part.logmgr.putline('ProcessEvents_return');
    processing = FALSE;
    when proc.ProcessEvents_exception do
    task.part.logmgr.putline('ProcessEvents_exception');
    processing = FALSE;
    when task.shutdown do
    exit;
    end event;
    end method;
    method SomeService1.StartImmediate
    begin
    task.part.logmgr.putline(task.traceBack());
    processing = TRUE;
    start task proc.ProcessEvents() where completion =
    event;
    end method;
    end CLASS;
    SOMESERVICE2 CLASS
    begin CLASS;
    class SomeService2 inherits from Framework.Object
    has public attribute proc: StartTaskTest.Processor;
    has public attribute processing: Framework.boolean;
    has public event StartProcessing;
    has public method Init;
    has public method ProcessingLoop;
    has public method StartImmediate;
    has property
    shared=(allow=off, override=on);
    transactional=(allow=off, override=on);
    monitored=(allow=off, override=on);
    distributed=(allow=on, override=on, default=off);
    end class;
    method SomeService2.Init
    begin
    super.Init();
    processing = FALSE;
    proc = new;
    start task ProcessingLoop();
    end method;
    method SomeService2.ProcessingLoop
    begin
    timer : Timer = new;
    timer.tickInterval = 10000;
    event loop
    task.part.logmgr.putline('processing loop
    listening');
    timer.isActive = TRUE;
    when timer.tick do
    StartImmediate();
    when self.StartProcessing do
    processing = TRUE;
    start task proc.ProcessEvents() where completion =
    event;
    when proc.ProcessEvents_return do
    task.part.logmgr.putline('ProcessEvents_return');
    processing = FALSE;
    when proc.ProcessEvents_exception do
    task.part.logmgr.putline('ProcessEvents_exception');
    processing = FALSE;
    when task.shutdown do
    exit;
    end event;
    end method;
    method SomeService2.StartImmediate
    begin
    task.part.logmgr.putline(task.traceBack());
    post StartProcessing;
    end method;
    end CLASS;
    PROCESSOR CLASS
    begin CLASS;
    class Processor inherits from Framework.Object
    has public method Init;
    has public method ProcessEvents where completion =
    (return = ProcessEvents_return, exception =
    ProcessEvents_exception);
    has property
    shared=(allow=off, override=on);
    transactional=(allow=off, override=on);
    monitored=(allow=off, override=on);
    distributed=(allow=off, override=on);
    end class;
    method Processor.Init
    begin
    super.Init();
    end method;
    method Processor.ProcessEvents
    begin
    task.part.logmgr.putline('Start processing...');
    task.Delay(msecs = 1500);
    task.part.logmgr.putline('Processing complete.');
    end method;
    end CLASS;
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Yes, you're right. The return event is queued until the moment that you
    actually enter an eventloop. I stand corrected.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
    Sent: Thursday, January 18, 2001 6:13 PM
    To: Rottier, Pascal
    Cc: 'forte-userslists.xpedior.com'
    Subject: RE: (forte-users) Confusion with return event
    I think it is always safe to use start task with where complition = event
    clause before event loop. The reason is described in Forte Help in the
    Complition Clause index:
    "Requesting the return and exception events automatically registers the
    events for the calling task. When the asynchronous method completes or
    terminates, Fort&eacute; adds the appropriate event to the calling task's event
    queue.
    This registration is unlike the event registration for the event statement.
    In the event statement, the event is registered just before the event
    statement is ready to process the event. In the start task statement, the
    return and exception events are registered when the task is started, even
    though it can be much later on that your application is prepared to wait for
    those events. Therefore, only the "parent" task that executes the start task
    statement is registered for the completion event of the started task."
    and some comments from "Forte Performance and Patterns" page 18:
    "When you use the where completion = event clause in the start task
    statement, Forte automatically buffer the return event until you register
    for it. Therefore, you do not need to worry about the child task completing
    before you register for its return event".
    Regards,
    Zenon
    -----Original Message-----
    From: Rottier, Pascal [SMTP:Rottier.Pascalpmintl.ch]
    Sent: Thursday, January 18, 2001 11:16 AM
    To: 'Samer Kanjo'; ForteUsers
    Subject: RE: (forte-users) Confusion with return event
    Yes, if you want the eventloop of the service object to be informed when
    the
    method on the processor class is invoked, regardless of who invoked it,
    then
    you should simply post an event as the last statement inside the method on
    the processor class.
    The return events are only used to inform a partent task that a child-task
    has completed. So, only the calling task receives the event, only if the
    calling task is inside an event-loop at the moment the child-task
    terminates
    and only if there really is a child task (method started using "start task
    Note, that the calling task doesn't have to be inside an event loop when
    the
    asynchronous call is made. It has to be inside an eventloop when the
    asynchronous task terminates. The following piece of code works just as
    well:
    SomeService1.StartImmediate();
    self.DoSomeOtherStuff();
    event loop
    when SomeService1.Proc.ProcessEvent_return do
    task.Part.Logmgr.Putline('ProcessEvents_return');
    when SomeService1.Proc.ProcessEvent_exception do
    task.Part.Logmgr.Putline('ProcessEvents_exception');
    end event;
    However, if the asynchronous task started from within "StartImmediate"
    finishes before the client gets a chance to enter its event loop, then
    you're too late to catch the event. That's why it's safer to use the
    "postregister" function, which makes sure a certain action is not started
    untill all events from the event loop have been registered.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Samer Kanjo [mailto:skanjoyahoo.com]
    Sent: Thursday, January 18, 2001 5:04 PM
    To: ForteUsers
    Subject: RE: (forte-users) Confusion with return event
    Pascal,
    So you are confirming that a return event can only be
    received in an event loop if a task is started from
    within that event loop.
    After making your proposed changes I was able to
    receive the return event in the window.
    I originally wanted the SomeService event loop to
    always receive the return event regardless of whether
    or not StartImmediate is called by some other entity
    or called when the timer ticks. It seems that the only
    way to do this is with events. Is that correct?
    Thank you for insight,
    Samer Kanjo
    --- "Rottier, Pascal" <Rottier.Pascalpmintl.ch>
    wrote:
    Samer,
    The return event is delivered to the calling task,
    which is the window in
    your first test. It is not deliverd to the event
    loop of the service object
    unless the call to the processor originated in the
    event loop, which is the
    case in your second test. The output you get from
    the server is exactly as I
    would expect.
    You need the following code in you client:
    event loop
    postregister
    SomeService1.StartImmediate();
    when SomeService1.Proc.ProcessEvent_return do
    task.Part.Logmgr.Putline('ProcessEvents_return');
    when SomeService1.Proc.ProcessEvent_exception do
    task.Part.Logmgr.Putline('ProcessEvents_exception');
    end event;
    Note that this logoutput will not be written to a
    logfile, but will appear
    in the logwindow which is opened when you start a
    client application.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch--
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Media Player Bookmark/User Feedback from Device

    Media Player Bookmark
    I like to listen to audio books.  We all realise that the mobile devices experience some severe slow down when multiple applications are running, especially the memory intensive multimedia apps.  Anyway, I think that it would be cool if there were some kind of "digital bookmark/restore point".  Right now, if i want to save where i've left off, I either have to leave the application running or make a note with the track/time that i've stopped listening.  If there were a prompt when you are exitting audio or video playing apps that asked if you would like to create a restore point that you can start back from or reference later, I think that would be great!  Just a request from an audio bookworm nerd.
    User Feedback from Device
    I think that the lack of ability to send immediate feedback or suggestions when they occur to users will ultimately make a huge difference between the BB product and its competition.  It took me about an hour before I gave up, about two months ago, when I was experiencing a perceived software issue, of trying to find a way to either directly access a forum from my device or go online with the device to BB forums only to find that they weren't very compatible with mobile device users.  Doesn't make much sense to me that you'd have a hard time accessing a companies web site that's in the mobile communication business from their own device.  Today, I spent about another hour signing up to every BB feedback panel, survey this, forum that to try and make a suggestion.  It's too hard!  I am dedicated to using the BB service until there is something more effective... user feedback is what will make the difference.
    It seems like there should be a way to install a direct feed app, preloaded on every device with a little 180/240 character box.  Not too much to be had to manage, not too little to where people can't get their point across.
    I'm sure it's been thought about before, but I'm left wondering why it's not there.?.
    Thank you to anyone with ideas or suggestions...especially if it helps me with my books!

    Regarding long mp3 bookmarks. (my experience with 9780).
    I had the requirement that when playing long MP3s (audiobook/podcast) I don't loose my place within the MP3. I am able to update the list of MP3s without loosing my place in the currently playing one. I don't loose my place when connecting the BB to a PC with the USB cable and using USB synch to copy files to the SDCard.
    All of these are accomplished by playing MP3s via File Manager/Play Folder feature.
    If you use play lists or other methods directly through the BB media player, you will loose your place as soon as you switch off the BB, escape the player, or connect the USB cable.
    If instead you use the file browser to go to the folder with the MP3s you wish to play (I have all my podcasts in one folder that I update manually) and select "Play Folder" from the context menu, the media player will open.
    If you escape the media player that is opened as per above, the last point in the played MP3 is remembered. This even survives any synchronization I do to the folder via USB or a soft power reset (ALT CAPS DEL). It remembers the spot in multiple MP3s to boot.
    This is a great handy feature. I'm glad it works with the 9780/OS6.

  • Request for user feedback: Just-In-Time Advice

    An ongoing debate within LabVIEW R&D needs some more customer input in order to be resolved.
    In LV7.0, we added Just-In-Time Advice dialogs (aka JIT dialogs). Those
    are the small dialogs that you see when, for example, you drop a
    stacked sequence structure and you are informed about the new flat
    sequence structure. See the attached image for an example.  We
    were terrified of introducing something always in your face and getting
    a response like Microsoft's Clippy, but we wanted a way to tell
    customers, particularly upgrade customers, about things that had
    changed and improved ways of using old features. The advice dialogs
    really aren't targeted at new users, since for them, everything is new.
    We need to know if we succeeded and whether or not the design of those
    diialogs should be changed. Only a few customers have ever given
    feedback about the JIT dialogs. That feedback has been fairly off-hand
    such as, "I'm glad that particular dialog was there to help me." But we
    really don't have information about whether the dialogs would be more
    helpful or less if some of their UI aspects changed. The problem we're
    having is that we in LabVIEW R&D wipe our .ini files frequently as
    we test new versions, so the JIT dialogs are always popping up. This
    makes a lot of developers want to change or remove the JIT dialogs
    entirely. So we need a clear picture of whether or not this feature is
    helpful to our users.
    Please think about times you have seen the JIT dialogs and whether you
    were annoyed by them, helped by them, etc, and reply to this message
    with your experiences. Separately, I'll post some of the reasons why we
    made the JIT dialogs behave the way they do. But I'd first like to hear
    some customer feedback with out the biasing, pro or con, that an
    explanation might have.
    --- Stephen Mercer
    -= LabVIEW R&D =-
    Attachments:
    JIT_Advice_Screenshot.png ‏12 KB

    I think it is a good feature, but I'd like to make some suggestions.
    1) When the dialog pops up (like your attachment), it would be nice if I could tell it right then that I don't care about that advice. Right now you have to click on the link and then say you don't want the advice in the future. I think it is that extra step that is really annoying. I think, like most people, my instinct is to just close the dialog. Then next time I run LabVIEW I have to deal with it again. After the 5th time dismissing the damn thing I turn it off.
    2) It would be nice to have an easy way to turn JIT advice off for a particular session. For example, I'm called on to help get new employees up to speed in LabVIEW. When I sit down at their computer to help design/debug things, I would really like to turn off JIT advice but just for my session. I don't want to change the other persons settings.
    3) It would also be nice to be able to turn off JIT advice without going to the options.
    So, I guess what I would like is this. When the JIT advice dialog comes up, instead of only having the link to the advice I'd like to see some a button that will turn off this topic in the future, a button that will turn it off for this session of LabVIEW and a button that will turn JIT off for good (with a verification dialog).
    So, experience programmers with a new install will just turn it off for good the first time it pops up. Experience programmers on someone else's machine can turn it off without messing up the other persons ini file and I can leave it on when LV8 comes out and just dismiss the old advice quickly as it comes up.
    Pat

  • GW user provisioning with iManger

    I've just updated to Groupwise 2014, and everything seems to be working smoothly, but I need to clear a few things up regarding GW account creation.
    In the past, I've manually created users with C1, and I used a template that had Groupwise PO information in it, and it all worked well. I can still create users with this template in C1 with the 2012 snapins, and everything seems to still work fine in GW2014, but I assume this isn't supported. Creating a user with iManager (with the GW plugins) with this same template does not create a Groupwise account at all, and I can't set GW info at user creation; I have to open the user after creation, go to the Groupwise tab, and pick the PO that they should belong to, and I can't actually change any groupwise options, like groups, visibility, nicknames, etc. In this case, the user gets created in GW, but the GW info (like email address, PO, etc) never makes it back into eDir. I do have email publishing enabled for the directory, but it doesn't seem to be doing anything.
    My question is this: If I create a directory user and want to have a GW account automatically created for them at account creation time, what is the correct way to do that in 2014?
    Thanks!
    Adam

    I've added a significant amount more GroupWise 2014 functionality since the v20 release. Jrbimprt and gwusers can both create users in GroupWise 2014 and make associations. But it is still not possible to create users via a template because there are no appropriate attributes which can be assigned to the template to identify the target 2014 system and the post office in which to create users. The 2012 attributes are not suitable e.g. "NGW: Post Office" must hold an eDir object name. Hence my suggestion to Novell. If necessary I'll provide my own aux class definition, but as I think such an aux class could be widely used, it is better for Novell to provide a standard definition than for 3rd party developers to each devise similar but different
    schemes.
    Contact me direct if you want to try the post v20 enhancements.
    John

Maybe you are looking for

  • Lack of a print preview button on the toolbar

    Like several users, I miss the availability of a Print Preview button on the toolbar. The reason: Many, many, many web sites configure their web page outputs so that they ignore the size and limitations of the user's printer. For instance, a web page

  • Is there any way to sync notes from iPhone 4 to MacBook Pro?

    Is there any way to sync notes from iPhone 4 to MacBook Pro?

  • How to make a form

    I've made an sql file and i can connect to it in Oracle Forms 6i. I can see the tables and columns in the Object Navigator, and now i would like to make a form. As you can tell, im new to Oracle Forms, so how do i go about it? Thanks.

  • Itunes won't use my store credit, it prompts me for my credit card

    I was given a gift card for Christmas that I applied to my account. I made a purchase a recently as Feb 11 with it. At the top of the screen it tells me I have a $6.06 store credit left yet everytime I try to download a song it takes me to the credit

  • Automating hyperlink creation

    Hi all, I'm a Frame AND scripting noob. I'm migrating several long docs from Word to Frame 10. I'd like to figure out how to automagically ID and add hyperlinks to URLs written in plain text after conversion. This sounds like a job for ExtendScript.