Search results

  1. PatrickTingen

    Named arguments for ABL procedures.

    We use include files solely for tt definitions that need to be tossed around and we only define one temp-table per include. Exception is a dataset where the complete definition is in one include. The name of the include is always the same as the name of the include file, so we have calls like...
  2. PatrickTingen

    Scroll Bars in a window's frame (from v9.1e)

    In that case you might benefit from using the library I mentioned. My suggestion: Download the file "resizable.p" from Github (or used attached file) Place it in your codebase. Remove the code you currently have in the ON WINDOW-RESIZED event Run resizable.p in the init section of your...
  3. PatrickTingen

    Scroll Bars in a window's frame (from v9.1e)

    Progress is nasty when you are resizing. Your logic for resizing a window should take into account whether the user is enlarging or shrinking the window. I have done a lot on resizing for the application I work on, so I do have some experience here. I worked on a library that could be used for...
  4. PatrickTingen

    Right Mouse Menu Down - Anywhere | Else Event

    Ok, try this. If you right-click outside the browse, but on the frame itself (not on buttons or anything else on the frame) then the popup for the browse will appear
  5. PatrickTingen

    Named arguments for ABL procedures.

    And to add to the documentation part @Stefan posted: it suggests to use shared variables instead for more efficient code. For this the same advice applies, namely: DON'T! Shared variables are evil, just as includes with code and the release statement. They all might have their place, but as...
  6. PatrickTingen

    Named arguments for ABL procedures.

    I was puzzledly looking at your code, wondering how it could possibly run and - if it would run - what it should do. Still not convinced that I know what you are trying to achieve here. The example does not compile in 11.7, let alone run. I think you are trying to use run-time parameters. If...
  7. PatrickTingen

    Right Mouse Menu Down - Anywhere | Else Event

    Not quite sure what you want to achieve, but I use below code to enforce right click when the user presses the left button. Maybe this can get you on track: PROCEDURE SendMessageA EXTERNAL "user32.dll": DEFINE INPUT PARAMETER hwnd AS long NO-UNDO. DEFINE INPUT PARAMETER wmsg AS long...
  8. PatrickTingen

    Progress 9.1D legacy server - no developer licence - need to dump data to .csv

    I dusted off an old version of DataDigger and got it running in v9. Don't ask why I keep a copy of v9 :) Check the repo at GitHub - patrickTingen/DataDiggerV9: DataDigger for Progress v9 or simply download it here It contains both source files and .r files for v9.1D Extract the zip in...
  9. PatrickTingen

    When something is not true

    Alternative approach: #Tray: FOR EACH tray NO-LOCK WHERE tray.tf-own = l-cus AND tray.tf-type >= l-type1 AND tray.tf-type <= l-type2 AND tray.tf-delete-date = ?: FOR EACH item NO-LOCK WHERE item.if-tray = tray.tf-tray AND...
  10. PatrickTingen

    When something is not true

    Try this FOR EACH tray NO-LOCK WHERE tray.tf-own = l-cus AND tray.tf-type >= l-type1 AND tray.tf-type <= l-type2 AND tray.tf-delete-date = ? , EACH item NO-LOCK WHERE item.if-tray = tray.tf-tray AND item.if-delete-date = ? BREAK BY...
  11. PatrickTingen

    Problem with etime in smtpmail.p

    Cool, the most recent version is only 22 years old I found a revised version from 2009 here: https://freeframework.sourceforge.net/downloads/accepted/
  12. PatrickTingen

    Problem with etime in smtpmail.p

    Ai, guilty.....
  13. PatrickTingen

    Problem with etime in smtpmail.p

    For the past few days, I have been receiving blank emails from our ERP system. We have several places where the system mails strange things so sending mail is not uncommon. Blank emails are, though. I managed to trace the mails back to the specific server and checked the logfiles of smtpmail...
  14. PatrickTingen

    Resolved Permanent Endless-Job and (5408) WARNING: -l exceeded. Automatically increasing from 1580 to 1590

    Not sure, based on your example, but my experience is that if you encounter strange problems with locking, you can do yourself an enourmous favour by using explicit buffers for each table you reference. No exceptions; always use a buffer. I've seen multiple times strange and seemingly unsolvable...
  15. PatrickTingen

    Index Questions

    With the DataDigger, you can use the built-in query analyzer. It will report both the nr of reads and the time it takes for a query to run. You can get it here if you don't already have it
  16. PatrickTingen

    Question Using a query to update values.

    This might be a language issue (English is not my native tongue) but I think I don't understand what it is that you want to achieve. Your query looks good; you build a truly dynamic query and then attach it to the browse. So your user selects a couple of filters, you build the query, attach it...
  17. PatrickTingen

    Smartbrowse loses link to smartviewer

    Can you use the debugger to step inside 'isOkToFetch'? You might be able to find why it says 'no'
  18. PatrickTingen

    Question Using a query to update values.

    I am not fully sure what you are trying to do but it looks as if you are making your life extremely complicated by mixing UI and logic. You use the screen-value of your filters in the query, if I am correct. By building a dynamic query, using the actual value from the filters (not a reference to...
  19. PatrickTingen

    Question Using a query to update values.

    If I read your response, I think you may have a partially dynamic query, one that uses or does not use fields from the frame. A fully dynamic query would look something along the example attached. Look in the choose event of the button In this demo I just copied the records from the customer...
  20. PatrickTingen

    Question How to drag and drop an editor field widget using mouse out of an child frame widget into another child frame widget (or the parent frame)

    Indeed, that was what I meant, but I can see your case for usage of frames (scrolling) so I think it is wise to stick with that. However, what might be possible is to delete the widget when you move it from one frame to another and then re-create it in the new frame, like @Cringer mentioned.
Back
Top