RE: one server window on client
Hi Chuck, RE> A one line method RE> OPEN ADMINISTRATION WINDOW RE> 4D crashes every time What if you open a new process method with the one line? I call OPEN ADMINISTRATION WINDOW and it does work, but I have it in its own process. Can't say why other than that's how I wrap all my primary methods. Bob Miller Parker Hannifin Corp. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Printing Listbox multiple pages (resolved)
RE> I found an older JPR example (I think) and it was really easy! vOver:=False // Flag for cancel printing Repeat $ref:=Print object(*;"tscanChartInfo") vOver:=Print object(*;"lb_Timeline") If (Not(vOver)) PAGE BREAK End if Until (vOver) John - What are these two objects you are printing using 'Print object' ? Also, is there any reason why vOver can't be a local variable? Thanks, Bob Miller Parker Hannifin Corp ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
RE: Entity Selection Listbox with Image
Doug, RE> We have been working on moving our generic listing over to using ORDA I don't have any knowledge of the picture field issue; I’m very interested in your approach to creating the generic listing. Have you found a demo somewhere that shows how to do this? I'm just opening the book on ORDA and this is one of the first projects I'd like to try, but am befuddled where to start. What are the features of your generic listing? What does it look like? Can you share a bit about your spec and how you are going about creating this? Many thanks, that would be a great kick start for me. Bob Miller Parker Hannifin Corp. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Getting emails sent by 4D to show up in "Sent Items"?
RE> "Emails sent by the SMTP Internet commands are just the same as emails created by any other mail program. They will show up in the Sent folder for the account that sent them. I do this all the time for my clients and they know that the 4D emails will show up next to the emails they sent manually." I'm using Outlook and emails that are created by 4D (using my email address) do not show up in my 'Sent' folder. Of course, emails created in Outlook appear there. Is there a way to have emails sent from 4D come into an Outlook 'sent' folder? Bob Miller Parker Hannifin Corp. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Can the internet proxy server be determined by 4D?
Is there a way I can check the system internet proxy server setting from 4D? This is in Windows 10; I have a web service that if called from one proxy does not work, yet from another proxy works fine. I'd like to make a call in advance to check if the correct proxy is being used. Thank you, Bob Miller Parker Hannifin Corp. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
4D Integration with FormStack or similar commercial forms tool API?
Has anyone done a project with FormStack, which is a forms-creation tool? My understanding is that FormStack allows you to create a form and drop it into a frame on a website. When the customer fills out the form, FormStack can send the content to anywhere using its API's. I'm interested in: > What API did you use, and could you share any sample code? > What issues did you address to direct the FormStack API to the 4D database? > What firewall issues did you have to address to protect 4D? > Do you have a 4D database outside the firewall, for purposes of collecting > the data? If so, where is it hosted? Or - do you have any analogous solution you've created with a commercial website sending data to your 4D database? Many thanks for the sharing! Bob Miller Parker Hannifin Corp. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Selection Based ListBox - How do I extract and apply values to a single cell?
RE> If you are using v17+ I would strongly encourage you to start a brand new form and use Form and an entity selection for the listbox instead. From This inspired me to look up the documentation for the 'Form' commend (https://doc.4d.com/4Dv18/4D/18/Form.301-4505774.en.html) - but I found the explanation very unsatisfactory. The example in the docs doesn't help me understand what you mean about using Form with a listbox. Can you step through a little example of how Form would help in this case, to control a listbox? Thanks - Bob Miller Parker Hannifin Corp. ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
File Decoding: EBCDIC
Hello, I have a project where sales data is being sent to an FTP site and I'm picking it up and importing into 4D. The latest dataset comes from Asia Pacific and is stored as a double byte character set in EBCIDIC format. I need to somehow open this and convert it back to the source character base, which is Simplified Chinese. I have no idea where to start with this; any ideas would be most welcome! Thank you, -Bob Miller Parker Hannifin Corp. ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation. Parker Hannifin Corporation and its subsidiaries, affiliates and associated companies ("Parker") process personal data in accordance with Parker’s Personal Data Privacy Policy which may be accessed from www.parker.com" ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
How to print a document from LEP?
Hi Everyone, This is a most fundamental thing, but I've now wasted enough time on it that I think that either I should take some time off OR lay off the holiday egg nog (maybe both). If I programatically create a file using 4D, such as an Acrobat PDF file or an Excel file, and then I want to print it from 4D-Windows (yes, we have users who want to have things waiting for them _on the printer_ in the morning), how can I do this? I know the path to Acrobat reader and to Excel. I can print from both of them by bringing up the command line (Windows) and typing in something like C:\path_to_Acrobat\AcroRd32.exe /tor c:\path_to_Excel\Excel.exe However, I can't get these to work with LEP. I'm sure I'm missing something fundamental. Thoughts? Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Proper decoding for document returned via SOAP call?
Uist, Koen - RE> You will need to use BASE64 DECODE on your returned $Value Thanks very much, that was exactly what I was looking for! Works perfectly! Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Proper decoding for document returned via SOAP call?
Hi Everyone, I'm confounded by a SOAP service that returns a binary (for a PDF file) - I'm not able to figure out how to save it as a proper PDF document that Acrobat understands. I get a SOAP response like (the binary was abridged for readability): http://DefaultNamespace"; xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ ">http://schemas.xmlsoap.org/soap/encoding/"; xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"; xsi:type="soapenc:base64Binary">JVBERi0xLjMNCjEgMCBvYmoNCjw8DQovVHlwZSAvUGFnZXMgL0NvdW50IDEgL0tpZHMgWyA4IDAgUiBdCj4+DQplbmRvYmoNCjIgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMSAwIFIgL091dGxpbmVzIDExIDAgUiAvUGFnZU1vZGUgL1VzZU91dGxpbmVzID4+DQplbmRvYmoNCjMgMCBvYmoNCjw8DQovQ3JlYXRvciAoQWNyb1Bsb3Qgb24gV2luZGDAwMDAwIG4NCjAwMDAwMDQxNzIgMDAwMDAgbg0KMDAwMDA1NDg0MiAwMDAwMCBuDQowMDAwMDU1MDA2IDAwMDAwIG4NCjAwMDAwNTUxMzcgMDAwMDAgbg0KMDAwMDA1NTIyMyAwMDAwMCBuDQp0cmFpbGVyCjw8DQovU2l6ZSAxMiAvSW5mbyAzIDAgUiAvUm9vdCAyIDAgUiAvSUQgWyA8MEVDNTRDNjQ1MUFCOUYyRkU1MDEwNTdDQ0NGMTYyOTg+DQo8MEVDNTRDNjQ1MUFCOUYyRkU1MDEwNTdDQ0NGMTYyOTg+DQpdCj4+DQpzdGFydHhyZWYNCjU1Mjk5DQolJUVPRgo= However, when I take the binary and save it to a file, I can't open it with Adobe PDF reader; it says the file is corrupted. I'm thinking that I need to call CONVERT FROM TEXT to somehow change the encoding, but I've tried several of the obvious ones (?ISO-8859-1?; "UTF-8", "UTF-16"; "UTF-32"; "US-ASCII") without any luck. DOM GET XML ELEMENT VALUE($aNodeRefsArr{1};$Value) //this contains the payload I want $DocName:="C:\\TEMP\\OUTPUT.PDF" TEXT TO DOCUMENT($DocName;$Value;"US-ASCII")`?ISO-8859-1?; "UTF-8", "UTF-16"; "UTF-32"; "US-ASCII" - none create a document that I can open with Acrobat Thoughts? Many thanks! Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
CONVERT PICTURE not seeming to work for me...
Hi Everyone, I've recently discovered in my v16 (Windows) database a few rogue records that contain PICT images in picture fields. These, of course, do not display in 64 bit 4D, so I need to convert them. When I run this: ARRAY TEXT($aPicCodecList;0) ARRAY TEXT($aPicCodecNames;0) PICTURE CODEC LIST($aPicCodecList;$aPicCodecNames) I see that .jpg is included in the codec list (along iwth png, bmp, gif, and others) - but notably, .pict is not there. Also, if I run PICTURE CODEC LIST($aPicCodecList;$aPicCodecNames;*) to see what codecs can be read, .pict isn't listed, either. I'm not surprised, this is a Windows 10 machine. When I run: ARRAY TEXT($aCodecs;0) GET PICTURE FORMATS([TextTable]PictureData;$aCodecs) //` $aCodecs has 1 element which is .pict CONVERT PICTURE([TextTable]PictureData;".png") SAVE RECORD([TextTable]) ARRAY TEXT($aCodecs;0) GET PICTURE FORMATS([TextTable]PictureData;$aCodecs) //` $aCodecs has 1 element which is .pict - so nothing happened! So nothing is being converted; I start with pict and I end up with pict. Maybe this is because I don't have the pict codec on my machine? (Where would I get a pict codec?) Or could there be another reason? Thoughts? Thanks for any advice - Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: How to get the current time in a specified time zone
Ah, this is such a complex issue. You need to know: - the time zone where your server is (which is where you will get the date and time using Current Time(*) - the time zone where your user is - the time zone where you want to know what time it is - whether it is daylight savings time where your server is - whether it is daylight savings time where your user is - whether it is daylight savings time where you want to know what time it is This is compounded by the fact that it could be a different DAY in some of these zones, as they can be on different sides of midnight. Fortunately, the computer operating system does a lot of this for you. I use Windows and some time ago asked the excellent people at Orchard Software to add sys_GetTimeZoneList to Win32API. This allows returns an array of all time zones with the current GMT offset, taking into account daylight savings time, etc. You might be able to get a similar thing from the Mac operating system. What I do is capture the user's current time zone from the OS when he logs in. I do this on the server and save it in a table, which I then read into a variable on the user's session, so I can calculate the time difference between the user and the server. Then if I need to know the time in another area, I have an array of time zones from the OS I present to the user and can calculate the time accordingly. Once upon a time I used a web service to do this, but when I found it was all built into the OS, I used that with good results. Hope this helps - Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
TAOW down?
Since about 3pm on Friday I've been trying to file a tech support case on taow.4d.com, but I get, "This site can't be reached". Anyone else seeing this? Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Frequent and Random Crashes - since 16 conversion
Hi Everyone, I've recently completed a conversion from 4D v15 -> v16r6 on Windows, for a built-server application. This also changed the client from a 32 bit client to a 64 bit client and we went to the "new" network layer. Since then, we've had many reports from both users with locally installed clients as well as users on remote desktop servers that at least 4-5 times a day they'll perform some operation (there's no consistency; they can be anywhere in the program) and it will instantly crash - no error message other than a dialog from 4D Volume Desktop that says, "4D Volume Desktop has stopped working". I'm wondering if this could be related to the new network layer? I recall some chat about a year ago about problems with this layer, but as I was not using it at the time and was hoping it all would be worked out before I was going to be using it, I kind of ignored it all. Now I'm having problems. I"m using pretty standard plugins, but I can't trace the behavior to any of these: 4D Internet commands 4D Pack ALP ObjectTools Win32API XL Plugin XML Plugin Have others seen this? I have about 180 users and this was not a problem with v15r4. I'm sure I've logged 100+ instances of such crashes, which are probably only a small fraction of the overall problem. Any insights would be helpful. Thank you, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: v17 PDF-Manuals
Re> I demand PDF manuals! Ditto. Laurent promised we could have PDF manuals at the Atlanta summit. He could not see why their production was a problem. That hasn’t happened. I’ve held out or skipped deploying several versions until PDF documentation was available, and I’m doing the same for v17. While I’m at it, I really disagree with the whole “exclusive” blog-doc methodology of the R-series, too. The blog is great but does NOT replace the need for PDF release notes for each R release. -Bob Miller ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Listbox Type?
Hi Everyone, Is there a way to tell through the language whether a listbox is an "Array Type" listbox or a "Field Type" listbox? I have a listbox that is a "Field Type" listbox, but all it contains is formulas that point to fields, so I'm having fits trying to find out how to identify the type through code... Thanks, Bob Miller phone 781-939-4726 · mobile 781-316-4864 ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Objects without Stylesheets suddenly displayed as Wingdings!
I've not ever seen this before today, when I was testing a database that I moved from v15 -> v16r6. The stylesheets came through, but some fields that had style sheets and all the ones that did not all of a sudden are displayed in the Wingdings font. Cheryl, how did you detect objects that did not have a style sheet assigned? (I've not yet found the Tech Tip that Rudy referred to in his posting) What did you decide to do about your thousands of objects? I'm not even sure of where to go with this! Thanks - On Fri, Jun 15, 2018 at 6:10 AM Two Way Communications via 4D_Tech < 4d_t...@xxx.xxx> wrote: > Hi Cheryl, > > I?m afraid there is no solution outside 4D. > > But there is e recent tip in the knowledgebase on how to find these > objects. > > And if they can be located, I suppose that the font can be set for thos > objects. > > This way you could write code to address the issues. > > > Regards, > > Rudy Mortier > Two Way Communications bvba > > > > > On 13 Jun 2018, at 20:57, Cheryl Michels via 4D_Tech < > 4d_t...@xxx.xxx> wrote: > > > > A recent Windows update (Windows 10, version 1803) has resulted in at > least two of our customer sites reporting that certain form objects are now > displaying as Wingdings. When I look at these objects, I note that the > developer did not assign a style sheet to them. Against our SOP, but that > is a different story. So, using Form Introspection, I have discovered over > 14,000 objects without stylesheets. Not a trivial task to set them all. > > > > Has anyone else run into this problem? Is there something I can do > globally that I'm not thinking of? Is there something that is causing it > to select Wingdings that I can undo? > > > > Cheryl Michels > > President and System Architect Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Component for 64 bit v6
RE> I have a component created v15, opened with 64 bit 4D v16 on Mac, but the host database stops us compiling with v16 on Mac. Does a component create with a 32bit version need to be 'converted' somehow? Jim, Under 'Database Settings' - Compiler - there's a checkbox for 'Multi-target compilation (32-bit and 64-bit)'. You have to compile your component with this ON so that the component works with a 64 bit host database. http://doc.4d.com/4Dv16/4D/16.3/Compilation-settings.300-3670749.en.html best regards, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Converting pictures on 4D forms (Windows) to get transparency
Thanks to all who replied so far. I've been trying different things. Vance - RE: Can you make a picture have an opaque effect? This isn't what I want to do; the pictures have an opaque effect where the white backgrounds are opaque when what I want is for the background to be transparent, so the icon does not appear to have a square border. If the background is transparent, the icon can sit on the form and the color of the form surrounds the icon, which looks better. Randy - RE: You can use the MSC in v16 to flush out all the forms Yes, this works well, and JPR's component does a lot of the same thing. In working out the problems, I found however that what looked to be a transparent background in 32 bit is not transparent in 64 bit (see above, I now have a white box around many of my icons), so I think I need an external drawing program to somehow convert the white background to "transparent". Cannon - Thanks, I had not seen that tech note. I'm already in v15 and do not have the plugin, so I tried using the same concept on a single member of the picture library that I knew had a transparency issue. The result was that the entire picture became transparent, so something clearly (to make a pun) went wrong! I'll investigate this a bit more, but I'm afraid that what I really need is something that can 'lasso' an image to find the outermost border, then set everything outside that border to transparent - which would be tough to do in code. Keep those ideas coming! Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
New way to get into Design Mode - v16?
I'm digging through the docs - is there a new way to get into the Design mode in v16? Up to v15, choosing a menu item with no associated method and no standard action would do the job, but this doesn't work in v16. I can Shift+Alt+Right Click and choose 'Go to Design Mode' - but clearly I missed something in the docs... Thanks, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Converting pictures on 4D forms (Windows) to get transparency
Hi Everyone, I'm in the process of going through a database to convert all the pictures, icons, and such in it so I can use the database with 64-bit 4D v16 (and eventually v17). The documentation is pretty clear that even though any images pasted in did not start life as PICTS - and I'm talking about things like arrows, some icons, line drawings, navigation tools, etc., that are part of the user interface, not actual photo type pictures - 4D would receive and store them as PICTS, so you have to find each one and convert it. To do this, I'm using JPR's Picture Conversion utility that he provided on the 2017 4D Road Tour. It does a fine job as it can scan all the forms, find the offending pictures, list them, and then provides a utility where you can either convert them and put them into the picture library or convert them and put them into an external folder. One thing I'm finding is that the conversion doesn't support transparency, so I end up with pictures that have white backgrounds, which doesn't look nice. Here is part of a thread from me to JPR: Me: When I drag a Static Picture to the converter, then back to the form, it seems to lose its transparency, even though the 'Transparent' property is turned ON. How can this be fixed? JPR> It cannot. The transparency done previously by 4D was just a trick replacing the white pixels with the background color dynamically, because the concept of transparency didn't exist at this time (like in PICT, JPEG, etc.) JPR> Now 4D uses the modern toolbox which relies on the picture transparency information coming from the alpha channel. So if you want transparent pictures, you must convert into a format supporting alpha channel (like PNG) and use any software able to add the alpha layer to your pictures. On Mac, the simplest one to add alpha channel is PaintBrush (from Soggy Waffles). You add transparency with the paint Fill tool The problem is that I'm on Windows. Does anyone have a recommendation for fast technique that they've used that supports this "alpha channel' so I can convert my non-transparent images so that they are transparent again? It looks so bad having an arrow on a form with a big white background. Thank you - Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: problems with SEND RECORD
Hi Noah, I'm not clear if your question regards SEND RECORD or, "Am I missing something in my understanding of looping over records?" Regarding SEND RECORD, the example in the documentation isn't complete, you first have to set up a destination for the record using SET CHANNEL. An error -28 means there is no open serial port, which would be consistent with this problem as SET CHANNEL can be used to open either a port or a document. If you are inquiring about looping over records, then can you give a bit more detail about what you are trying to do? Certainly discovering the code was scanning the entire table instead of a selection is a shock. best regards, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
FORM GET OBJECTS and getting info about Subforms
Hi Everyone, I'm taking inventory of a form using FORM GET OBJECTS and I come upon an object that is "Object Type Subform". I can get the object name of subform from the point of view of the current form, but what I want is the name of the form and the table to which it belongs so I can in turn then "drill in" to it by doing a FORM LOAD and another FORM GET OBJECTS, to take inventory of what is in the subform. But to call FORM LOAD I need the table name and the form name of the Subform. I can't seem to figure out how to get the form name and table name of the Subform. Thoughts? Many thanks, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Auto-update and restart 4D Server?
Hi Everyone, I've been mining the 4D KB looking for a technique whereby I can automatically update a 4D Server merged application. I'd like to do the following: > Set a time when the merged server application will send a notice to users that it will shut down > Merged app then shuts down after 5 minutes > New .4DC and .4DIndy files replace the existing files in the "Server Database" folder > Merged app is relaunched I know this was discussed before, but I can't find what I'm looking for. In my scenario, the version of 4D would remain the same, only the structure file would be changed. Right now I do this manually and every time I do it, I know there's a better way. Can anyone point me in a direction, or wish to share some code to do this? Windows evironment. I imagine that somehow control is passed to an external executable (Windows environment) that then copies the files after the merged app terminates and then after the copy is complete, launches the merged app. Thoughts? Thank you! Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Error -19191 ?
Hi Everyone, I have a 4D Client user (v15r5, Windows) who can't connect, with error -19191. I can't find this error in either the language ref, the server reference, or the design ref. Does anyone have an idea of what this error is? Thanks, Bob Miller Parker Hannifin Corp. ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Macro to check that local variables are declared in a method? [Solved]
RE> What I?m not sure how to do (well, I?m unwilling to spend the time, because WTH) is capture spaces within a variable name. If anyone puts spaces in a variable name, well, they deserve what they get. I also realized that constructions such as ARRAY TEXT($aMyTextArray;$ArraySize) contain both a declaration and a use of a variable, and also John DeSoi replied with a good idea to "smash" all strings enclosed in double quotes into just the double quotes, so that any $ contained within are not considered, so here is Version 2 of the method, that takes care of both, and also incorporates the new underscore-version of the regex: *** Version 2 *** //Bob Miller 04/30/18 CheckLocalDeclarations - called by macro to check that all local variables are declared. //Method name is passed by the macro as $1 //This method calls itself in a new process if only one parm is sent (eg. when it is called by the macro). C_TEXT($1;$2;$MethodName;$AllCodeButDeclarations;$LineDeclarationBlock;$ArrayDeclarationBlock;$NewProcessFlag) C_TEXT($MethodCode;$CR) C_TEXT($RegEx;$CodeLine) C_LONGINT($N;$NumLines;$ProcNo;$L;$NumDeclarations;$WhereCommentBegins;$WhereSemi;$WhereDollar) C_POINTER($DummyPtr) $CR:=Char(Carriage return)//I know I should use a constant, yes...still haven't got around to this. Case of : (Count parameters=1)//if called with only a single parm, then this method re-opens itself in its own process //Note below on New Process: I chose to leave the * off so I can run it again if I want, a new window is opened $ProcNo:=New process(Current method name;256*1024;Current method name;$1;"NewProcess") BRING TO FRONT($ProcNo) : (Count parameters=2) $MethodName:=$1 $NewProcessFlag:=$2//existence of $2 simply means we are in a new process, that's all it does METHOD GET CODE($MethodName;$MethodCode) ARRAY TEXT($aMethodCodeArr;0) TextToArrayList (->$MethodCode;->$aMethodCodeArr;"";"";"NoSort")//this takes text and puts each line as an array element $NumLines:=Size of array($aMethodCodeArr) For ($N;1;$NumLines)//go through all the lines of the method, separate into 4 pieces: variable declarations, array declarations, code, and comments. //We don't keep any comments.I don't know why I want to keep variable declarations separate from array declarations; it makes me feel better. $CodeLine:=$aMethodCodeArr{$N}//this is one line of code.We examine it. $WhereCommentBegins:=Position("//";$CodeLine)//find and remove all comments; they may contain local variable references, such as unused code If ($WhereCommentBegins>=1) $CodeLine:=Substring($CodeLine;1;$WhereCommentBegins-1) End if $CodeLine:=Replace string($CodeLine;Char(Tab);"")//remove leading TAB's, we want what we're looking for to be at position 1 $CodeLine:=DeLBlank ($CodeLine)//remove leading spaces from the code line, so we're assured what we are looking for will be at position 1 $CodeLine:=RemoveQuotedStrings ($CodeLine)//Thanks to John DeSoi; remove anything in double quotes, to prevent catching any $ that would be there Case of : (Position("C_";$CodeLine)=1)//this is a C_BOOLEAN or C_TEXT or C_Something declaration command and now will be at position 1 (no tabs, no spaces) $LineDeclarationBlock:=$LineDeclarationBlock+$CodeLine+$CR//this is all the code containing declarations : (Position("ARRAY ";$CodeLine)=1)//this is an ARRAY BOOLEAN or ARRAY TEXT or ARRAY Something command $WhereSemi:=Position(";";$CodeLine) If ($WhereSemi>0) $WhereDollar:=Position("$";$CodeLine;$WhereSemi)`Added this section in version 2: If ($WhereDollar>0)//if there is a dollar sign after the semicolon, eg ARRAY LONGINT($aLongintArray;$SizeOfArray) - then add this portion to $AllCodeButDeclarations $AllCodeButDeclarations:=$AllCodeButDeclarations+Substring($CodeLine;$WhereSemi;Length($CodeLine))+$CR End if $CodeLine:=Substring($CodeLine;1;$WhereSemi)+"0)"//force line to look only at the array declaration, because there could be a var after this End if $ArrayDeclarationBlock:=$ArrayDeclarationBlock+$CodeLine+$CR//this is all the code containing array declarations Else // this is not a declaration line If ($CodeLine#"")//make sure it is not a blank line; build up the code WITHOUT the declarations; we'll //later examine this to get all the variables that are in use $AllCodeButDeclarations:=$AllCodeButDeclarations+$CodeLine+$CR End if //$CodeLine#"" End case End for //$N;1;$NumLines // I haven't tried it, but Patrick Emanuel suggested this: "(?mi-s)(\\b[[:alpha:]][\\w+]*\\b)[?=\\:|\\;|\\)|\\>|\\<|\\{|\\}|\\]|\\[|\\r|\\n]|(\\$[\\w+]*\\b)|(<>[[:alpha:]][\\w+]*\\b)" $RegEx:="\\$[_a-zA-Z0-9]*"//many thanks to Lee Hinde for this, horray (version 2, with underscore)! // Pull all declared local variable
Re: Macro to check that local variables are declared in a method? [Solved]
RRAY Something command $ArrayDeclarationBlock:=$ArrayDeclarationBlock+$CodeLine+$CR//this is all the code containing array declarations Else // this is not a declaration line If ($CodeLine#"")//make sure it is not a blank line; build up the code WITHOUT the declarations; we'll //later examine this to get all the variables that are in use $AllCodeButDeclarations:=$AllCodeButDeclarations+$CodeLine+$CR End if //$CodeLine#"" End case End for //$N;1;$NumLines $RegEx:="\\$[a-zA-Z0-9]*"//many thanks to Lee Hinde for this, horray! // Pull all declared local variables out ARRAY TEXT($aDeclaredLocals;0)// array of all locals pulled out of our code containing declaractions; these are "Declared Locals" ARRAY TEXT($aUniqueDeclaredLocals;0)// Same as above, reduced to a single instance for each local var ParseRegexToArray ($LineDeclarationBlock;$RegEx;->$aDeclaredLocals)//Takes the text $1, uses the RegEx $2, puts all matches in array $3 ARR_Distinct (->$aDeclaredLocals;->$aUniqueDeclaredLocals)//pulls out any duplicates, so only 1 instance is in $2 ARRAY TEXT($aLocalDeclaredMultiple;0) ARRAY LONGINT($aLocalDeclaredMultipleCount;0) ARRAY LONGINT($aIndex;0) If (Size of array($aDeclaredLocals)#Size of array($aUniqueDeclaredLocals))//check if any var is declared twice ARR_SizeArrays (0;->$aIndex) For ($L;1;Size of array($aUniqueDeclaredLocals)) $NumDeclarations:=ARR_FindInArray_All (->$aUniqueDeclaredLocals{$L};->$aDeclaredLocals;->$aIndex)//Takes the text $1, //looks for it in array $2, returns the number of times it finds it in $0.If we found it more than once, it was declared more than once. If ($NumDeclarations>1) APPEND TO ARRAY($aLocalDeclaredMultiple;$aUniqueDeclaredLocals{$L}) APPEND TO ARRAY($aLocalDeclaredMultipleCount;$NumDeclarations) End if End for End if //Size of array($aDeclaredLocals)#Size of array($aUniqueDeclaredLocals) // Pull all declared local arrays out ARRAY TEXT($aDeclaredArrays;0)//Get array of all declared local arrays, just like above ARRAY TEXT($aUniqueDeclaredArrays;0) ParseRegexToArray ($ArrayDeclarationBlock;$RegEx;->$aDeclaredArrays) ARR_Distinct (->$aDeclaredArrays;->$aUniqueDeclaredArrays) If (Size of array($aDeclaredArrays)#Size of array($aUniqueDeclaredArrays))//check if any var is declared twice ARR_SizeArrays (0;->$aIndex) For ($L;1;Size of array($aUniqueDeclaredArrays)) $NumDeclarations:=ARR_FindInArray_All (->$aUniqueDeclaredArrays{$L};->$aDeclaredArrays;->$aIndex) If ($NumDeclarations>1) APPEND TO ARRAY($aLocalDeclaredMultiple;$aUniqueDeclaredArrays{$L}) APPEND TO ARRAY($aLocalDeclaredMultipleCount;$NumDeclarations) End if End for End if //Size of array($aDeclaredArrays)#Size of array($aUniqueDeclaredArrays) // Pull all the local variables used in the code ARRAY TEXT($aVarsUsed;0)//Get array of all the local vars used in the code (not declared, but actually used) ARRAY TEXT($aUniqueVarsUsed;0) ParseRegexToArray ($AllCodeButDeclarations;$RegEx;->$aVarsUsed) ARR_Distinct (->$aVarsUsed;->$aUniqueVarsUsed) // Compare the set of declared locals with the set of "locals used in code" //Note: ARR_Union, ARR_Subtract are part of a tech note by Charlie Vaas TN10-05 ArrayUtilities ARRAY TEXT($aDeclaredAllVars;0) ARR_Union (->$aUniqueDeclaredLocals;->$aUniqueDeclaredArrays;->$aDeclaredAllVars)//combine the declared vars with the declared arrays ARRAY TEXT($aUsedNotDeclared;0) ARR_Subtract (->$aUniqueVarsUsed;->$aDeclaredAllVars;->$aUsedNotDeclared)//do some array DIFFERENCE to get vars that are not declared ARRAY TEXT($aDeclaredNotUsed;0) ARR_Subtract (->$aDeclaredAllVars;->$aUniqueVarsUsed;->$aDeclaredNotUsed)//do some array DIFFERENCE to get vars that are declared not used // We have our results in arrays, prepare text to display on a dialog C_TEXT(vMsgText;vMsgText1)//for CheckLocalVarsDlog - replace when we can send parms directly to forms in v16 (declaration is here because we are in our own process) vMsgText:=ArrayToText (->$aUsedNotDeclared;"; ")//this takes an array and converts the elements to a long text string with elements delimited by semicolon vMsgText1:=ArrayToText (->$aDeclaredNotUsed;$CR)//ditto, delimited by carriage return vMsgText2:="" For ($L;1;Size of array($aLocalDeclaredMultiple))//build up text string showing any vars that were declared more than once, along with the number of times it was declared vMsgText2:=vMsgText2+$aLocalDeclaredMultiple{$L}+" ("+String($aLocalDeclaredMultipleCount{$L})+"x)"+$CR End for If (vMsgText+vMsgText1+vMsgText2="") //do nothing, no need to open window if everything is OK (but YOU could say, "Everything seems to be OK" in fine 4D form if you wanted to) Else // I fully recognize it is now bad form to use process vars to
Macro to check that local variables are declared in a method?
Hello, Has anyone created a macro to check a method to make sure all its local variables are declared? I've thought about undertaking such a thing, but as it probably involves getting into regular expressions, I've been looking forward to doing this with some dread. If anyone has done this already and is willing to share, I'd be much obliged! The "tough" issue for me is "how to identify a local variable": - it begins with a $ - it may end with any of these characters: space, equals, semicolon, colon, dash, left paren, left curly brace, end of line, or any arithmetic or comparison operator - it is not fully enclosed in quotes; example: "$ ###,###.00" is a format, not a local variable, but I'm ignoring EXECUTE ON SERVER, etc. I'm probably making a mountain out of a molehill, but hey, that's what this list is for - to let people show me exactly that. I appreciate it. Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
7-Zip Unpacker?
Hi Everyone, I am being sent some files that are "deep" inside a 7-ZIP archive. That means when you open them with the 7-ZIP GUI tool (7-ZIP is kind of like WinZip), you see a folder, then you open the folder, then another folder, then...then..and about 6 levels deep there's a couple of text files I wish to extract so I can then import them into 4D. I'm having a devil of a time figuring out the command line interface, because I have a lot of these files and the folder paths within each one isn't the same. Basically I want to just open each folder and keep going until I get to a file, then I know I'm done. Thankfully, there are no branches - in no case are there more than one folder within another folder - so I just need to figure out how to keep on drilling down. Has anyone some sample code they'd be willing to share that specifically navigates through 7-ZIP archives? This would be so much appreciated. Thank you! Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Where can I find 4D Internet Commands (for v16)?
Hi Jim, I feel a bit silly, but I've just killed an hour looking for the v16 version of "4D Internet Commands".The v16 Conversion manual specifies there are differences between v15 and v16, so I presume there is a v16 version out there, but I don't see it on the FTP site (mostly old stuff at ftp://ftp.4d.com/ - and ftp://ftp.4d.com/PRODUCTS/Current/ contains v14.x stuff), nor is it listed at http://www.4d.com/products/4dv16.html Search on the site didn't find anything newer than v forums.4d.fr has always confused me, but I couldn't find it there, either. Is there a new 4D Pack for v16, or have all the 4D Pack commands now been built in? thanks - Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Using a Web Area as a Data Entry Area
Hi Everyone, I have a task that might be a good application for a 4D web area. This would be my first use of this feature; normally I'd use Arealist or a Listbox to do this, but in this case the number of variables is high enough that a new approach might be warranted. The problem: we have a number of workcenters that each have different data collection requirements when a product is made at that workcenter. I have a table for each workcenter that includes data on what each data element is; the user can set up a workcenter and specify how many data elements are to be collected, what the name of each data element is, and what the data type (alpha or real) of each data element is. The problem is creating a data entry area. The area is supposed to look like a spreadsheet so that a user can enter multiple data points on a single screen and then click one button that behind the scenes will update multiple records. I've created a simplistic screen shot at: https://s13.postimg.org/hmj5o10fr/Web_Area_Mockup.jpg Basically, the program flow for the data entry portion is: > User selects the workcenter for which he needs to enter data > The web form design is programmatically pulled together with the data from the workcenter setup file - this includes data about the type of data, the amount of data to be displayed, the enterability rules, etc. - and it pulls in the privileges of the user. The form is then set up with the correct number of rows and columns, the data is put into the proper cells, and the enterability rules are applied. > The user either enters new data or overtypes existing data as required > The user submits the data (is this a 'Submit' button in the web area or a button on the form?) > The program checks which data elements have been changed and updates the database accordingly So my questions are: > What are best practices for setting up an enterable HTML table that will be displayed in a web area? > Is there any callback possible when the user enters data in a cell in an HTML table in a web area? > How does one pull the data from the form out of the web area so it can be used to update the database? If anyone has any coaching tips or - this would be wonderful - an example I could poke at - I would be deeply grateful. Beers on me at the Summit, for sure. Thank you, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
RE: Using the new 4D SSO feature on Windows
RE> User A should not be sharing the machine with User B, otherwise, if they are sharing, then SSO should not be used. OK, I accept that. In a different view of things (this wouldn't be SSO, but rather, using AD authentication) there some way that I could present a login screen, accept the user's ID and password, and send it to AD for authentication, receiving back a "Good" or "Bad" reply? How about the other question, since we're on a roll: I'm also not clear on what 'Current client authentication' does other than get the name of the current Windows user... What is the return value of 'Current Client Authentication' and what is it used for? Why won't this work unless the switch is turned on in 4D Server (since Win32api somehow can return the current user?) Thanks, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Using the new 4D SSO feature on Windows
Hello, I'm working on implementing SSO using 4D Server's new feature for that in our Windows environment. I'm working with our corp AD security folks and haven't got it to work yet (lots of hoops to jump through), but am trying to figure out how it works in the absence of being able to try and test it. Has anyone used it? I'm not clear on when the SSO option is turned on, whether the user is presented with a login window of some sort. I'm also not clear on what 'Current client authentication' does other than get the name of the current Windows user, which is something I'm using Win32API for right now. Comments, anyone? A big mystery is how to handle the following scenario: > User A is logged onto a PC and is authenticated to the domain > User B wants to log into the 4D application. I'm not clear whether 4D Server will present User B with a login screen where he will have to present his AD credentials, or whether it takes User A's credentials from the current session? > If Server uses User A's credentials, how can User B indicate he doesn't want to use those and log on to the 4D app with his credentials, without changing the login to the machine? > If server uses User B's credentials to log in, does Current client authentication return User A's session information or User B's session information? Thank you, Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: [SAD NEWS] legendary developer and 4D base-rock Ortwin Zillgen
This is sad news, and I'm shocked indeed. I have not met Ortwin, but I've read many, many of his posts on the Forums and he is on the "Must Read" list when he posts to the iNug, as others have said as well. Certainly he contributed a great deal to 4D and to this community. He will be missed very much. For me personally he's reached out to help me several times when I posted something or another that had me stumped. He didn't have to do that, he didn't know me, but it says a lot about a person who helps others he hasn't met and when it is highly probable the favor can't be reciprocated (he's a lot smarter than me!). The untimeliness is shocking and I'm sure his family is reeling. I wish them peace and help in their recovery from the shock. Maybe if someone who knows his family can collect these posts and get them to the family it would help some? Peace, Ortwin...we will drink to you, your work, and what you've stood for at the Summit! Bob Miller Chomerics, a division of Parker Hannifin Corporation ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
4D Server: Possible to view Users & Groups?
Hi Everyone, I've been digging on this: is it possible to view/maintain Users & Groups from the 4D Server console? I've not used the 4D Password system until recently, when I started using CHANGE CURRENT USER so that I could get the user name from a trigger method. Now I'm interested to inspect what users have been added to the system, but I don't know how, as they've all been programmatically added. Maybe I have to write a bit of code to inspect the list of users? I thought this might be exposed somewhere... Bob Miller, IT Manager Chomerics, a division of Parker Hannifin Corporation · phone 781-939-4726 · mobile 781-316-4864 ll "PLEASE NOTE: The preceding information may be confidential or privileged. It only should be used or disseminated for the purpose of conducting business with Parker. If you are not an intended recipient, please notify the sender by replying to this message and then delete the information from your system. Thank you for your cooperation." ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Listbox Mysteries
Hello Everyone, (4Dv15r5, Windows) I have an array-type listbox that I've configured so that every cell is enterable (the 'Single Click Edit' property is ON). This has presented a few challenges: > If someone clicks in a cell, that cell gets focus, but if I want to move focus completely away from the listbox using GOTO OBJECT(*;""), then the cell still *appears* to have focus, even though nothing on the form actually has focus (because if you type, it goes nowhere). How to remove the appearance of focus from the listbox (cell) ? > If the cell is tied to a numeric array, when you click in it, a "0" (zero) appears. I don't want this, users tend to get annoyed when that extra zero is added to whatever number they are entering (particularly if the zero is added to the right side of the number - 20 becomes 200). How to elimininate this behavior, of displaying a 'zero' in an empty cell that has focus? Cells that don't have focus don't display zeros... Many thanks! Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Stuck Floating Palettes
RE> Floating palette windows won't move Tom, You should know better - even a floating palette gets stuck in a drought. It is almost certainly your California users who are having this problem. I read somewhere that at least 6" of water is needed to float one, so be patient, it may take a few years. HTH, Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Command to set Listbox Selection Mode?
Hi Everyone, I'm digging though the docs - is there a command that allows me to set the "Selection Mode" of a listbox? I see I can do this line by line using an array, but I want to be able to change a listbox programmatically from "None" to "Single" to "Multiple". I'm not finding the command...but it must be there, no? Many thanks, Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: It's the little things (ordering parameters)
RE> It's been, what, 30 years now I've been using 4D (!) and I *still* have to double-check Position and Find in array Yes, I'm in the 30 year club, too, and there has not been a single time when I've been able to remember which field (relating or related) to use with Relate One, Relate One Selection, Relate Many, and Relate Many Selection. Something short circuits in me when I have to remember these commands, even after thousands of occasions to do so. Thank God - and 4D - for documentation. Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
RE: A way to auto logout a user who is idle.
I have a few methods that are constantly run; they wrap commands like Alert and Confirm, are called in the On Load event of almost every form (to set up menubars, etc.), or are called when the user opens a module or performs a search. Altogether I think there are eight or nine methods that it would be almost impossible not to run in a session of any meaningful duration. What I did is add this line to each of those nine "common, frequent, and essential" methods: CheckSessionTime ("Renew") This method looks like this: <>InactivityLogoffTime:=Current time+(<>UserSessionResetInterval*60) //<>UserSessionResetInterval is in minutes, convert to seconds in order to add to current time ...where it basically computes a time of day when the session would be regarded as 'stale'. <>UserSessionResetInterval is typically set at one hour, but it can be changed from user to user to allow some to have longer inactivity times (like the boss). When 4D starts, I open a process from the startup process that does the following in a loop that lasts until the user logs off OR is forced off: 1. Check <>InactivityLogoffTime, if it is in the past, then I put up a message box telling the user to do something in the next 10 minutes or he'll be logged out 2. Wait 10 minutes, then call QUIT 4D if nothing happens or go back to sleep if something happens 3. Delay process for 10 minutes 4. Repeat This code looks like this: Repeat DELAY PROCESS(Current process;<>UserSessionResetInterval*60*(60/2)) //convert mins to ticks; delay for one half the session reset interval If (<>InactivityLogoffTimeUserSessionResetInterval)+" minutes."+<>CR2 MESSAGE($Msg+"Hit any key to prevent shutdown in "+Time string($NumPromptSeconds-$Time)) If (<>InactivityLogoffTime>Current time) //indicates user hit a key and KeepSessionAlive called CheckSessionTime("Renew") to reset <>InactivityLogoffTime $Time:=$NumPromptSeconds+1 //end loop Else DELAY PROCESS(Current process;60*2) //delay 2 seconds End if End for CLOSE WINDOW ON EVENT CALL("") If (<>InactivityLogoffTimeUserSessionResetInterval)+" minutes)") DELAY PROCESS(Current process;60*2) //delay 2 seconds QUIT 4D End if End if Until (<>ShutDownPending | <>StopCheckSessionTime) Hope this helps! Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: URL Encoder
Hello Miyako, In the code you prepared to solve the URL Encoder issue, there is this line: RE> $shouldEscape:=True:C214 I've puzzled over this as I am not familiar with what "True:C214" doesI did some digging in the "Operators" section of the language manual, but I either missed or could not find the : (colon) operator. Maybe this is a typo; if not, what does the : (colon) operator do, and what does "True:C214" do? Thank you, Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: How do you populate an Excel spreadsheet using 4D?
RE> How do you populate an Excel spreadsheet using 4D? I'm using Plugger's excellent Excel plugin; it is a bit pricey, but very full featured and solid as a rock. http://www.pluggers.nl/product/xl-plugin/ Miyako also published a free plugin that does some Excel functions; I evaluated that, but it didn't go far enough for what I was looking for - multiple sheets, styles applied, etc. Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: Sharepoint vs 4D...
Robert, Sharepoint is a Microsoft product that provides document storage and collaboration using a web-bsed "template". It integrates closely with MS Office, so its strength is document management and storage. One can choose one of many templates, such as a simple library or a sophisticated workflow to collect signatures in an approval cycle. It is almost impossible for me to compare with 4D, as there is little commonality; while it is possible to create some "logic" in Sharepoint, it is really only for workflow. Also, there is not really a concept of a data element in Sharepoint, as the basic unit is a document. Having said that, you can collect document metadata, such as approval levels, revision level, etc., but it is not a development environment in the sense of 4D. You can add on to Sharepoint using javascript and you can make a SOAP call, but I've never done this. I think of Sharepoint as a sophisticated file cabinet, while 4D is more like a set of legos with a database back end. Hard to compare things that are so completely different. Unless the 4D database the client is talking about is document-centric, there's little you could do in Sharepoint to mimic 4D functionality. But of course that depends on the application. There's tons of stuff on the web about Sharepoint, start with Wikipedia. Good luck - sounds like the customer is a little daft and needs some guidance -- Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Extracting a .gz file
Hello Everyone, I've not used the .gz archive format before, but I have a situation now where I'm getting data daily in .gz format (also called "gzip") that I need to decompress. Is there something I can use (4D v15) to "unzip" these files? Is there something I can use with LEP or possibly PHP (which I have not used before)? An example would be VERY much appreciated. Thank you, Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
RE: 4D Application
RE> Exist one command that i can to use for uderstand if i use a stand alone application or a server connection? Hi Ferdinando, Yes, use "Application Type" - it has a return value that tells you if you are on 4D Desktop or 4D Server (or others): http://doc.4d.com/4Dv15R5/4D/15-R5/Application-type.301-2936897.en.html Best regards, Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Re: settings.4DSettings
Hi Alberto, Thanks for this; it tells me I'm "kind of" on the correct path: > I've (long ago) gone to Database settings (per the design reference instruction you included in your response) and clicked off 'Enable User Settings in External File'. I'm not seeing how this works on 4D Server! Case in point: If I look at the file on 4D Server (v15), however, it contains only xml keys as follows: I'm puzzled where the port numbers and other options can be stored! When I look at the settings.4DSettings file on my 4D Developer edition (again, v15), it is far more robust: Despite the additional robustness of this settings file, not all the Database settings are in here; for example, there is no setting for size of the cache, or 'keep the cache in physical memory'. Even more strange -> If I open 4D Developer, change some port numbers and such, then look at settings.4DSettings, it is unchanged. Here is a test that maybe some of you Nugger's can do for me: if you examine settings.4DSettings for 4D Developer in your 'Preferences' folder, do you see more keys that I see (per above)? Is there a difference in the settings.4DSettings contents between your 4D Developer and 4D Server? Many thanks! > Database settings are stored inside the structure file, unless you activate the option "Enable User > Settings in External File? in the Security Tab. More info in > http://livedoc.4d.com/4D-Design-Reference-13.4/Database-Settings/Using-user-settings.300-1226542.en.html Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
settings.4DSettings
Hello Everyone, I'm trying to find out where 4D Server stores settings such as port number, memory settings, etc. - at first I thought this was in settings.4DSettings, but in my settings.4Dsettings file there is only a "Automatic_session_management" item. The settings.4Dsettings file is mentioned in the Design Reference, but it does not have any schema for what can/should be in it. Is there additional documentation on this file? Am I correct in that port number and memory settings are stored in an external file? Many thanks, Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
Displaying a record read-only
Hi Everyone, This is a really frustrating question because I think I've done this before, but I can't find the code that did it. Or maybe I'm dreaming. I have an output form opened using Modify Selection that displays records from Table1. When the user double clicks, I capture the On Open Detail form event, check the user's authority to change the record, and either open it in an input form that has enterable fields, or another input form that uses only non-enterable fields (there are other differences). What I want is that when I open the form that uses only non-enterable fields, NOT to lock the record. Since I'm in Modify Selection, though, by default everything is in a read-write state. Hence, when a user opens a "non-enterable" record, it still is locked to other users. Is there a way to accomplish this, other than to open the "non-enterable" record in a new process? Many thanks! Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
RE: How to remove a style sheet?
RE> I think the issue you are seeing with setting the font of the list box headers may be related to this bug: > ACI0094001: Listbox Header Fonts With Style Sheets Cannot be Modified > " The commands OBJECT SET FONT and OBJECT SET FONT SIZE do not modify the font of a Listbox Title if the object has a Style sheet other than "Automatic" assigned to it. OBJECT SET FONT SIZE does modify the height of the Header." > The bug is listed as fixed in v15R4 - can you test with v15R4 ? Hi Tim, Yes, this appears to be fixed in v15r4. This fix removes the requirement for me to remove a style sheet from a listbox, but it is still curious that this can't be done except with code. Thank you, Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **
How to remove a style sheet?
Hi Everyone, The Design manual does a good job describing how style sheets on buttons, fields, variables, etc. can set the font, size, and style. What I'm missing, though, is how one *removes* a style sheet from an object, short of deleting the object and re-creating it? I've discovered that in v15r3, a listbox will use the style sheet even if OBJECT SET FONT and OBJECT SET FONT SIZE are applied to the header areas. Hopefully 4D will find and fix this bug, but in the meantime, I'd like to remove the style sheet (which isn't really needed, anyhow). This is 4D v15r3, Windows. Many thanks! Bob Miller Chomerics, a division of Parker Hannifin Corporation ** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **