Thank you Alan. when you say: "If is a global variable then you will never get the result you require".
Why does this happen?. How can I get the result and set it to another variable, in the case I wanted to use that variable for another porpose. I dont like it much to call a RCP everytime I requiere a variable from the database. Thank you for your help. On 3 January 2011 21:39, a...@mechnicality.com <a...@mechnicality.com>wrote: > If I understand your code correctly, its actually doing exactly what > you've asked it to do. > > You are calling a method called 'setCurrentBook(......))' which doesn't > seem to do anything very much. > > You are then defining a callback 'public void setCurrentBook(String > bookname)' blah... > > You are then *invoking* the call back > bookServicesHolder.loadBookByName(bookName, callback); > > Your call back sets a variable called 'currentBook' and I cannot see what > you intend this to do from the code provided, but, as written, its not going > to do anything very much. If if is a global variable then you will never get > the result you require. > > You need to carefully re-read the section in the GWT docs about > Asynchronous calls. If you are using GWT you *MUST* use and fully understand > asynchronous RPC - that's what Ajax is all about. > > It *should* go something like this. > > * Define an RPC callback for a particular service typically by using an > anonymous inner class. > > * Invoke the call back specifying the data object (book) you want to read > > * On the successful asynchronous return, update the UI, by calling the > update method from within the callback onSuccess method. There are many, > many examples out there. > > In short, don't update the UI until the callback returns. > > If you don't want to make these calls asynchronous, then convert your > program to a more servlet-centric approach. There are a (large) number of > other web frameworks which will do this for you. GWT is all about Ajax and > RPC. > > HTH > > Alan > > > > > > > > > > On 1/3/2011 12:17 PM, Cesar Ruiz wrote: > > It is also saving more books when reloading the page (but I dont care much > about it as that wont be too painful to fix). But please I need some help on > the RCP asyncronous calls. What workaround can I do?. > > Kido. > > On 3 January 2011 19:23, Kidowell <crui...@gmail.com> wrote: > >> Hello, I'm doing a project where in the interface shows a listBox that >> includes the names of some books, the thing is that you must choose >> one and you will look wether in pdf or txt. My problem is that when >> changing the listbox, itll show the just last book you chose, rather >> the current one. >> >> heres the program so far. >> >> http://kido180020783.appspot.com/ >> >> >> Here's the part of the code that presents the problem. >> >> setCurrentBook(bookList.getItemText(bookList.getSelectedIndex())); >> if (pdfFlag) { >> if (!txtFlag) { >> pdfBook.setSize(booksPanelWidth, >> booksPanelHeight); >> } else { >> booksPanelWidth = >> String.valueOf(BOOKS_PANEL_WIDTH / 2); >> pdfBook.setSize(booksPanelWidth, >> booksPanelHeight); >> txtBook.setSize(booksPanelWidth, >> booksPanelHeight); >> >> } >> pdfBook.setUrl("pdf/" + currentBook.getUriPath() + >> ".pdf"); >> } else { >> ...... >> >> //This method is being called AFTER the line " pdfBook.setUrl("pdf/" + >> currentBook.getUriPath() + ".pdf");" wich is weird!!!!!!. >> public void setCurrentBook(String bookName) { >> AsyncCallback<Book> callback = new AsyncCallback<Book>() { >> >> public void onFailure(Throwable caught) { >> throw new UnsupportedOperationException("Not supported >> yet."); >> } >> >> public void onSuccess(Book result) { >> currentBook = result; >> } >> }; >> bookServicesHolder.loadBookByName(bookName, callback); >> } >> >> >> >> I dont want the method to be Asyncronous, please I really need some >> help. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google Web Toolkit" group. >> To post to this group, send email to google-web-tool...@googlegroups.com. >> To unsubscribe from this group, send email to >> google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/google-web-toolkit?hl=en. >> >> > > > -- > Cesar Ruiz. > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to google-web-tool...@googlegroups.com. > To unsubscribe from this group, send email to > google-web-toolkit+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > > > > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to google-web-tool...@googlegroups.com. > To unsubscribe from this group, send email to > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > -- Cesar Ruiz. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.