ClarionLive! Open WebinarEvery Wednesday8am Pacific Time
Click Here To Register

Date
Recording Link
Notes
24 May 2017

0:00 Victor wants to know if Unicode can be read by Clarion. A friend is having issues trying to read. Bruce gives an explanation of Unicode, and says Clarion 10 (and earlier) and then shows us a stringTheory method ToAnsi and ToUnicode to translate the code back and forth.
0:07 Rich Bowman joins us for his first webinar! :) Is the UltimateDebug still active and where can he find it. YES! Look at the top of the clarionlive.wikispaces.com page for the Anniversary Edition of ClarionLive Utility Pack.
He's also have gpf issues with Runscreen. We view his screen to walk thru the code. Bruce will need to dive in via teamviewer later.
0:26 David Watson asks Rich about running Clarion under Parallels.
David also wants to know how to open a Windows FileExplorer (not Capesoft's FileExplorer) and display a specific folder. Call RUN('explorer.exe /e, "' & CLIP(Datenordner) & '"').
David shows us a program he's created using java code and json.
Craig Ransom says he uses javascript in Tracker's PDF-Viewer and Editor. Viewer has demos showing this.
0:44 Wolfgang has spoiled his IDE layout and needs help adjusting it back.
17 May 2017

0:00 David Patterson needs some help with jFiles code that isn't working. Bruce reviewed the code and it turns out that he had variables that didn't use the same syntax as defined. Key Point - java & json are case sensitive!
0:14 Alejandro had another jFiles question - how many records can he load before commit/save.
0:17 - Wolfgang asks for a friend who has an SMS modem and he wants to write errors in to the EventLog. No one here knows how to write out to it. Craig later gives us a hint to google Windows Event Log Functions to find the functions available listed in msdn.microsoft.com.
He also wants to know where range-check and other plausibility checks occur in code. Look in one of the BC0 clw files for the procedure ValidateFieldServer for the field in question.
0:28 Craig wants to know if there is a website or someplace to look for definition of GUIDs and what proper specs for it are? First it's important to know that a GUID is generally not a thing, but a concept - especially when you use client side. Check out the explanation Bruce gives on entropy, how that calculates for his general 16 char GUID and the odds of guessing that number.
0:53 Alejandro comes back on with his test case that uses up to 2GB of memory and then crashes. Bruce suggests using some logical break like one year of invoice history, or similar.
Is it possible at runtime to change the external name of a field. Unfortunately not, these are read-only properties.
0:56 Bijan asks about Clarion sending upper case names on the backend. Yes that's how Clarion works unless you specify the name() or a table/field (external name in dictionary).
Bijan also asks about why StringTheory is using more than just random() to generate a GUID... simple answer it uses a seed to start the random generator from.
1:18 Merle asks about Bruce's thoughts on backing up data.
10 May 2017
Click To Download
0:00 - It’s the John and Mike show today. After some initial chat (1.40) Bob had a question regarding a template in UltimateDebug OverView – Highlighter template. Bob also spoke about some software he uses called Tidy Tabs
12:00 – Merle had a question regarding sending batch emails.
16:30 – Some more discussion on Tidy Tabs.
21:00 – Victor had a continuation of his question from last week about filtering a browse using a selection filter.
51:00 – No question at this point so Mike takes a look at ABFILE.CLW to have a look at the code behind the ApplyFliter.
56:30 – David had a question relating to using an image control. He wishes to get data from JavaScript. Mike discussed that what David wished to do could be achieved via String Theory (Base64Decode).
1:02 – Mike mentions they are about to move over to using version control – TFS.
1:11 – John briefly mentions Scrip-It – but it is all top secret so all will have to wait until Clarion Live soon.
1:17 – Before they wrap up some brief discussion regarding the 2017 CDIC. 103 people attending so far.
3 May 2017
Click To Download
0:00 Don Vanasse asks John about what he uses for creating buttons because his look so nice. This led in to a discuss about Active Image stuff now in C10. Which in turn leads to a long discussion about trends and fashions and how they relate to programming.
0:53 Lisa asks Bruce about an issue she's discovered with her NetTalk email logging program cutting off the html message portion.
0:58 Victor asks if there is a way to get a subset of SQL data to show in a single browse without having to use a bunch of buttons.
26 April 2017
Click To Download
0:00 Wolfgang mentions in a skype chat about only using NetTalk methods that do not start with underscore - those are internal calls. Bruce says yes that's sort of true, but they don't keep you from using those methods.
0:05 Alan Cochran wants to know about upgrading to the latest version of C10 - is it safe for SQL?
0:10 Franscico has questions about version control. Lisa and John talk about using Rick Martin's version control addin.
0:36 --- StringTheory Method of the Week --- StringTheory.Abbreviate allows you to pull a specified number of characters that will logically break your string in to a shortened version.
Now Bruce does a little explaining about Unicode.
1:10 Roberto asks if Bruce has added Fastmem to jFiles.
1:17 Bruce found an IDE trick this week - it now throws in the closing tag automatically for you. if you click on the xml tree and then double click on the top node, when you switch back to the xml view, the source will be nicely formatted for you, instead of just being a long string. Roberto shows a new feature in FireFox (v53) that gives you different headers for JSON code where you can see it in different formats - raw, header, etc - that can be helpful in debugging.
19 April 2017
Click To Download
0:07 Rob Mikkelson has an issue using an Oracle accelerator to access a db. Bruce suggests adding a buffer of about 200 pages.
0:13 Roberto asks about using json on multiple threads. Bruce says use FastMem if you need them to process all at the same time.
0:17 Alejandro is having an issue editing a json file. Bruce explains the layout of a sample file.
0:20 Carl Davis has an upcoming project and is wondering about when you'd pick xml versus json.
0:39 Alejandro is back asking about an xml files - he sends Bruce a sample dctx.
0:47 DavidP wants to know what is the best way to extract json response from http response.
--- StringTheory Method of the Week --- StringTheory.After to pull everything in a StringTheory object AFTER the passed character string to look for. Related - Before, Crop & Trim.
John asks about the path/file methods... he's missing the create folder/directory method. Look to WinEvent's ds_CreateDirectory which is recursive (will check all directory's in the path passed exist and creates as necessary) and thus is nicer than the Clarion built in mkdir which only creates the one directory.
0:51 Wolfgang wants to know about GUIDs in StringTheory and checking for duplicates.
12 April 2017
Click To Download

5 April 2017
Click To Download

29 March 2017
Click To Download
0:00 Cricket, when will CIDC charges be run through (probably next week), cable speeds, etc...
0:08 Wolfgang asks a question from Peter Hermansen - what are the steps for manually removing items from your project. Discussion about creating a procedure (that never gets called) but where you put all your images so that you don't have to add them manually to the project.
0:18 John talks about his project from the Friday webinar. Bruce gives a tip for taking over a legacy app - if the window mdi setting isn't working like you expect, check on the window properties, window behavior, window operation mode - this provides an override to the regular property grid mdi settings.
Note that you can no longer copy into password fields. Bruce explains why this is a bad thing... not sure if this is a windows thing or a Clarion thing.
0:29 WO wants to know how to change the ABC/Clarion chain template on an app already created. Under Application options|Registry.
0:34 David Patterson wants to know if we can add the program he wrote to remove Clarion prefixes and add it to UltimateSQL. He'll send the code to John.
0:55 Diego says he won't fix the password pasting problem, so John takes on trying to circumvent that.
22 March 2017
Click To Download
0:00 General chit chat. Talk about Phone Gap and creating Apps for Apple and Android.
1:08 Arnold comes on about an issue with Resize & Split pulling in Helgard's template as well.
1:15 Carl Davis has a question about analyzing salt usage in Cryptonite. If you want to look know about salted passwords look HERE!
15 March 2017
Click To Download
Lisa was out sick... please update the notes if you watch this. Thanks!
8 March 2017
Click To Download
0:00 Bob Wilhelm kicks us off with an error on a browse sometimes when scrolling and using column sorting - getting error 78 - invalid number of params. He's gotten around this by editing abbrowse.clw to increase the value of a string variable from 1024 to 2048 in the ResetQueue method, plus a template change. Can he work around this a diff way in order to not have his fixes wiped out by the next Clarion update. Bruce says while you can derive it, it's not an easy task. Best thing when you find a bug like this - Send email to SV, post in newsgroups and post on bug tracker... with emphasis on here's the fix for the problem. Also suggested to post this on ClarionHub so that it gets archived and will come up on a google search.
0:35 He also wants to acknowledge how great UltimateDebug is. But he can't get approval from powers above to add one template globally at this point (127 apps), but can he easily piggy back UltimateDebug on to his Debug template that only exists on his local machine.
0:41 Mike Springer has an issue with StringTheory - has a runtime error on start up from the ezraglo.dll. Means you have an old copy of that in your path. We go thru a series of debugging steps. Mike goes off to delete all clws/objs and generate a clean build to see what happens.
0:52 Scott Warren is using c6.3 and has a question about tagging a record from a barcode he's scanned... he seems to be missing the embed point needed. This is using an incremental locator and because it's doing so many page refreshes, Bruce says he'd change to an entry locator and then you can trap the event:accept to fire the das tag to tag your record your record. Joe Lucas says he uses a function key to pop up a window that captures the barcode and then returns back... this would allow you to use the barcode reader no matter what field they are in.
1:03 David Patterson wants to know how to get rid of the duplicate code warnings that are coming from 3rd parties products. Bruce walks thru a method of finding where that variable is declared the first time, since all Clarion tells us is where the second instance occurs. So he finds that Ingasoft and Capesoft OfficeInside are both using this variable - so now you reach out to both 3rd parties and hope that one of them will respond and change their variable to something else. Be sure to tell each one that when I use this template with this other template, then I'm getting the duplicate error warnings. If one of those instances is SV, then it's doubtful that they would actually change it. But the lesson is reach out to 3rd party vendors when something comes up!
1:28 Lisa wants to know how to pull the choices for a field that is defined as must be in list. Bruce writes a little template code that does that translation for us. This has to be done because the dictionary itself is only open to template code, not actual Clarion code. This template will allow keeping that list in only one place - the dictionary - no need to search your code anytime it changes. :)
1 March 2017
Click To Download
0:00 Wolfgang would like to be able to use his specific icons at runtime with TabTree. Send Bruce an email and he'll look at that.
0:04 Brian Roche has a question about PROP:SQL. He's getting a file does not exist error. Change dictionary to add /TurboSQL to see if Postgres will allow memory tables, if not, then turn on the create attribute so that a physical file will be created for use with this dummy table. He'll test and get back to us.
0:11 David Watson wants to know if StringTheory can get a function that counts the instances of unique words and how many times they are used. Bruce will add to the wish list for ST. 2) can I use a StringTheory object in a queue. Yes, make a class so you properly construct/destruct the queue to avoid gpf'ing. Watch webinar for example. 3) Has listboxes built from queue, how can he make it select the bottom entry in each listbox? select(?list1, records(listqueue1))
0:27 Marc Walgren wants to know if he can get Xfiles to get a field in a group to be an attribute of another field when saving the file. He solved by reading help! Needed to derive the class in order to call setAttribute.
0:28 David Patterson is trying to upgrade OfficeInside and he's getting errors on getProperty and setProperty. In data dll, OfficeInside global extension, classes - refresh classes. Rinse and repeat as necessary on any apps upstream. For ABC apps he needs to call legacy dlls, can he do that? Bruce suggests we go through this during tomorrow's NetTalk Webinar.
0:37 MikeT has a problem running an app on a specific win10 machine... shows as a process, but doesn't appear in the taskbar. Last thing we came up with was to review Marc Walgren's SQL connection issue from 2 webinars back in July 2016.
0:46 Merle refers back to Lisa's comment from Friday's webinar about NOT using message and stop. Can someone show him how to switch to using DebugView. Bruce reiterates the 2 key reasons for not using it. Message inside a loop can effectively lock up your program if you have a large dataset. It also effectively changes the way your program works since no events are posted to the window while Message is up. Bruce shows installing DebugView++ and using StringTheory.trace() to output your message contents. John shows how to make it that much better by using UltimateDebugViewOverview+++! Also briefly describes all of the products included with the ClarionLive UltimateUtilities.
1:37 Dan Scott says he's looking at UltimateActiveX and nothing shows up, does that mean he doesn't have any OCX's? No it means the CodeJock OCX's haven't been registered. He'll need to do that manually for now, but John has a todo list item of making UltimateActiveX use RegFreeCom.
1:40 Lisa asks how she can access the values of a field as set up in the dictionary... ie, instead of showing B1, show 'Balance Sheet' in a browse. In regular code, you'd have to interpret the field in a function where the values are duplicated. Next week we'll look at creating a little code template that will access those values so that the descriptions only have to be maintained in one place.
22 February 2017
Click To Download
0:00 No questions, so we talk about how EVERYONE should be using some version of DebugView instead of message/stop. Quick view of UltimateDebugOverview.
0:09 Wolfgang has a question regarding NT-Service and Service. In order to do a chain, you must shutdown all the processes before the chain occurs.
0:12 David Patterson wants to know what the latest version of UltimateDebug is - he had a problem upgrading it in an app... caused some search screens to not work.
0:46 Dan Scott is playing with the OnScreenKeyboard - when it pops up, the user enters the info, but the keyboard doesn't go away. Since we can't seem to find an example, Greg suggests Dan contact Mark Goldberg.
15 February 2017
Click To Download
0:00 Bob Wilhelm has an issue with different errors trying to load 2 apps in the IDE. No suggested solutions.
He's also curious if anyone knows if ForKeeps Pro by Ragnar Hellspond is still around, kicking and being supported - invaluable to Bob, but would love to see some new features added or even made available to the entire Clarion community.
0:31 David Patterson has a question about using prop:sql where it seems to be ignoring his set(key,key). That's because the prop:sql ignores the set(key,key), you must include the order and filter in the prop:sql statement; plus it's going to be a lot faster unless you have really small datasets. Discussion ensues about using dummy tables to hold datasets from stored procedures. And using UltimateSQL to return dataset in to a query.
1:22 Mike Springer shares a success story where using Bruce's technique (from an old webinar) on filtering a large cutting a filedrop combo from 15-20 secs to instantaneous. YAY!
1:26 Bruce Engel is converting an app from c6.3 to c10 and is getting a too many files error. MikeS shared he'd seen this error before and he solved by deleting all the clw's and forcing a recompile. He'll come back next week and we'll try to solve online... seems to be missing a resource or something.
1:31 Brian Roche has issues with the IDE crashing when he tried to create a new procedure from the tree view. Unfortunately no one else has seen.
Has anything more happened with UltimateSQL and Postgres? Not yet, we need the connection string for Postgres and someone with Postgres to test the commands that are currently in place.
1:36 Dan Scott is playing around with the enhanced focus manager and the onscreen keyboard. He has it set up, but now he wants to toggle it off/on. Anyfont is gpf'ing on him when he closes the app. BobW helped him copy the debug version of clarun.dll to his folder to get more info.
2:07 John shows a website for David Watson to look at for being able to manipulate PowerPoint slide shows via an activeX control.
8 February 2017
Click To Download

1 February 2017
Click To Download
0:00 MikeT starts us off with an UltimateSQL question. He's trying to reformat a date that's coming through, but having difficulties deformatting it. He was using @d012- and should have been using @d10-... the preceding 0 was messing up things.
0:13 Wolfgang has a followup on last week's problem... turns out it was a bad data issue. One tip Bruce had for WO with the ghost records is to pull up the sort order and add the sysID to the end - ideally all your sorts should be unique.
0:18 David Patterson asks if John has tested the Google API stuff. Holding up on testing install and documentation.
0:22 Peter Hermansen asks about the old imagecfg.exe Bruce says it's not really needed, it was to help with people moving quickly from c55 to c6... getting rid of unthreaded global vars, etc.
0:25 MikeT asks if Premiere is stable yet as he's waiting to put in his production environment. Only one main thing is working on putting the preview window in mid or non-mdi mode based on the caller.
0:28 Marty asks if Lisa has implemented the hide param for the Send Email window - not yet - will let Marty know.
0:29 Bob Wilhelm has a question about the task list in the IDE. John gives a tip of using Split Window to look at 2 spots of your code in the same clw.
0:47 John Farmer recently converted an app to use GUID keys instead of AutoInc. For parent/child should be use EmulateAutoNumKey on the parent table. Bruce explains why he doesn't like that because it can leave parent records behind if someone kills machine or something - and it's easy to detect orhpaned children.
0:53 Bob has another question - about the message for Do you want to lose changes, when nothing should actually be changing. Mark Walgren suggests looking at the UltimateDebug.DebugRecord.
1:03 Bruce mentions StringTheory.Serialize and jFiles.Save has a new method to allow you to write out one record/view.
1:05 John delves in to free web apis you can find on the web.
25 January 2017
Click To Download
No questions to start so everyone must want to hear about cricket!
0:00 Lisa asks about the NetTalk SendEmail procedure. If she's sending say a batch of 800 emails, then it basically takes over the system because the SendEmail process window keeps taking focus. Bruce says you can't prevent that from taking focus, but there is a parameter to hide the window and you can show progress by putting a progress bar on the calling window.
0:04 Lisa asks a 2nd question about the use of Capitalization on an entry field. A situation has come up where a customer's name of mcpa.com is translating to Mcpa.Com - yep you gotta live with it, or write your own function to handle specific situations manually.
0:06 MikeT wants to know if there's a template he can make use of to prevent a procedure from running more than once. Other solutions are RunProcOnce from Bo Schmitz, ABCFree's thread limit instance, SuperStuff thread limit. We also look at the Run this window only once in the window behavior properties. Turns out his problem is a little more complicated than just limiting a menu item, he's wanting to prevent an update screen from opening on a 2nd instance ... he reports back later that Bruce was correct that ONE table did not have THREAD turned on.
0:23 John Farmer is getting an error with SQL2014 and while trying to use Clarion's trace, he's not getting any trace files. John suggests using UltimateDebug which has built in trace functions and can output directly to UltimateDebugOverView++ so John gives a quickie demo on how to do it. Lew Strock points out that there are issues with multiple trace ini files as SV has moved the location.
0:31 Wolfgang wants to know if it is possible to use vertical separators in menus. Bruce says he's never seen that in any Windows program... maybe WO dreamed it! :)
0:37 Dan Scott has a situation where he's in the midst of a mailrun, but he needs to do a short mailrun and then come back to the first mailrun. MikeT suggests adding a field to the TPS file that is for MailRunNo and filter the mailrun based on what 'run' is being done.
0:45 CRICKETS We see the new www.cdic2017.com website... ta da!
0:50 Roberto and Bruce chat about an ongoing NT issue he has.
0:55 Wolfgang has another question about filtering a browse... Bruce points out to him on the browse properties you can set additional sort fields.
1:03 Peter Puttock wants to know if there's a way to generate an SQL script to create a table from the dictionary without having an actual SQL server installed on the machine you are working from. Maybe Robert Artigas's template DCT2SQL will do that... can be found on icetips.com/downloads - PAR2 files and newer under Free SQL Stuff.
1:13 Simon has a question about the FastMem template/class and found GetStatsTable, but it doesn't look like it does anything. Perhaps it's something Dave wrote for debugging.
18 January 2017
Click To Download
0:00 We start off with a problem that has reared it's ugly head again - On win10 legacy and abc apps (all versions of Clarion) - bring up a browse, highlight a record and press the Alt key, the File menu is grayed out and you must ctrl+alt+del to kill app. Bruce writes us a little template (UltimateWindowExample) that can be applied to every window to fix the behavior. It's also a great starting point for writing a template where you want to apply some code to every window. We also get permission from Dave Harms at ClarionMag.com for everyone (previously available only to ClarionMag subscribers) to use a template that Carl Barnes wrote back in the c7 days. It's a bit more sophisticated, and we suggest that you choose Carl's template which is only applied to the AppFrame.
0:30 While testing our template, Dan Scott jumps in with a question for Bruce about how to update GUIDs.
1:20 Marc Walgren has questions about subclassing in order to access xpos and ypos in a browse - he wants to simulate drag and drop.
1:25 David Patterson is wondering if there's an update to the Google API stuff from William Cirino. He also comments on how quickly UltimateSQL processes as opposed to normal next loop, so he's wondering if there's anything special that it does... yes it's probably the buffer() statement - discussion ensues. David also wonders if it's possible for UltimateSQL to make use of a memory table instead of queue; John says that it's on his to do list - others can contribute to the code though.
1:35 David Watson says that UltimateActiveX from the current install isn't working for him. Looks like the controls aren't registering. John will look at adding RegFreeCom to it.
1:39 Wolfgang wants to know if he puts external names on some fields in his dictionary, does every field need an external name. Ultimately the answer is no, but be really careful when using external names.
11 January 2017
ClarionLiveOpenWebinar_2017-01-11.wmv
Indulge me as I say congrats to my Clemson Tigers - NATIONAL CHAMPIONS! With no questions out there, I threaten to spend the hour talking about the game!
0:00 Marius Nel has an assertion error in an old app that's been converted from c9.1 to c10.0.12349. First Bruce shows him how to copy the debug version of clarunx.dll to his working environment in order to get more info on the assert error. In this case, it's that old FileManager Close assert error... perfectly acceptable to comment out. Next error is an error on exception... this one coming from GPFreporter - you should NOT have Show Stack Details ticked on.
Marius reports back later that copying the 9.1 mssql dll does get him around the error. Bruce suggests that he use an earlier c10 dll (Lisa and Rick confirm rel 11897 was sql stable). He can report or not, there's been quite a few sql bugs in the various c10 releases.
0:24 David Watson had a computer crash, so he's having to install Clarion fresh on a new laptop - what's the best way to get his previous Clarion setup. Install it initially; then copying over old Clarion folder from old computer and the %appdata%\softvelocity folder.
Does anyone know of an OCX or library to interface with DirectX graphics? No one online today does. :(
0:28 MikeT is getting an access violation on startup of his program - he's looking for how to track down what might have changed. So far on testing, he can see FM3 connect to the db, SecWin gets logged. Single exe, happens 50% of the time and on 3 diff machines. Bruce suggests starting with the machine that actually gpfs. Same as Marius, copy clarunx.dll from debug to start.
1:03 It's a slow day so we end early...
4 January 2017
ClarionLiveOpenWebinar_2017-01-04.wmv
HAPPY NEW YEAR!
0:00 Wolfgang hops right in to show us how to help with the issue of showing focus to the customer when multiple browses exist on a single screen. PROP:NoBar (true/false) can be used in code. Or in the window designer you can set HideSelection in the properties grid. John offers up another suggestion (esp in a parent/child situation), change the background color of the browse with focus - global properties, set visual indicators.
Bruce reminds us that when you are setting the same property over multiple controls - click on the first control, ctrl+click to select additional controls, then property pad changes affect all of the selected controls.
0:20 With no current questions, John takes a stroll through property.clw to see what other properties we might want to explore.
0:35 Merle is having an issue with a MultiPrj app and when he runs the SQL version, then he doesn't get any data. The problem is with FM3 - it will not convert data if the SQL table already exists. Merle needs to drop the tables in MSSQL and then FM will create the new tables and convert from tps files.
0:42 Dan Scott wants to know what is the point of uploading files via http instead of ftp. Bruce tells him there's an easier way using NetTalk, which he will show tomorrow.
He's also got an error in an app that he can't figure out. It's some embed code that has a case stmt with no end. Bruce also tells Dan to never use STOP()** with NetTalk code because it will break the networking.
0:56 Sim Scherer uses WGET HTTP to download files, is there a better way [in c5.5]?
0:59 Mike Tabakin has set up Clarion on a new machine and after using ctrl+I to format code in the embeditor, it looks right. If he comes back into the code, then it has reverted back to the original way the code looked like. Lisa suggests that he check that the options are set the same between each machine - or maybe just copy %appdata%\roaming\softvelocity\clarion\10.0 folder from the good machine to the new one.
1:09 We have the time, so Bruce goes ahead and shows Dan the file upload stuff in NetTalk.
28 December 2016
ClarionLiveOpenWebinar_2016-12-28.wmv
00:01 Discussion on scaling of icons and images on buttons, and the change in behavior between Clarion 6 and Clarion 8/9/10.
00:20 Talk about themes and Active Image option on an image control
00:34 Mike shows an update to his SuperStuff Resizer
01:05 Discussion concerning SuperTagging using GUIDs instead of Position
01:24 David Swindon asks a question about Makeover and sheets and tabs
21 December 2016
ClarionLiveOpenWebinar_2016-12-21.wmv
0:05 Carl Davis has a question about moving an application with over 70 apps from Clarion 9.1 to Clarion 10. There is a discussion about the pros and cons of making this move.
00:30 Bruce gives a tip on how often to update a Progress bar
00:32 Carl has an error "Too many segdef" when compiling an app, Bruce explains that this means there is a really large CLW being generated. There were many procedures in each module, so repopulating the procedures to use fewer procedures per module solved the issue.
00:41 Carl has an error in one of the Capesoft templates where a method doesn't exist, turns out some of the other Capesoft products that interact with the template was an older version. Bruce shows how troubleshoot this sort of issue.
00:54 There is a question about where search and replace stores the last searches, it's in ClarionProperties.xml, <Properties name="SearchAndReplaceProperties"> then look for <FindPatterns value="">, the values are delimited with a y with two dots above it
00:56 Wolfgang gives an update on his issue from last week, it's solved!
14 December 2016
ClarionLiveOpenWebinar_2016-12-14.wmv
0:05 Greg Bailey gives us a tip on Mike Hanson's Super Tagging... BrowseOptTagFilter. This allows you to use to filter the browse to show only those tagged and then in combo with CapeSoft's SendTo, you can have only the tagged records in your report/export/etc. Pretty cool! Over the course, John adds this to a screen, and finds an issue with icon generation in the template.
0:15 David Patterson wants to know if anyone knows of any templates/classes for using DocuSign. Nope. Any update on the Google API stuff from a few months ago? John will have to ask about it.
0:40 Carl Davis has a question about NetTalk/CSS. He's upgrading from NT4 to NT8 so he'll wait for Bruce tomorrow.
0:45 WO wants to know how to suppress error messages in a particular situation on a custom screen. It's the issue where he's getting the Record has been changed/deleted by another user.
0:59 Bijan has a question on logging... Rick says he uses LogFlash. Rick did a webinar on triggers that shows what he did to add that LogFlash code to make it more complete - see Rick's webinar on #373.
7 December 2016
ClarionLiveOpenWebinar_2016-12-07.wmv
0:00 John reviews an issue he had this week. If he exported anything to a txa and the import that, the prototypes don't show up until you open that new proc in the IDE and close it - then the params show up. Mark Sarson gave him that tip and now they are contemplating writing a parser that could fix that issue - maybe adding to UltimateTXA.
Carl Davis adds that they had issues similar when moving from c6 to c9 - it won't allow you to create new procedures without locking up, so you just have to copy the procedure and edit according. Sheila has similar issue and found out that she had to compile right after the copy.
Chat about what print previewer to use.
0:18 WO has a problem. He combines a couple of tables in to a de-normalized in-memory table. The user then abandons this data set and reads other data. On some very random occasions,

      • As you can see Lisa got called away on an emergency in mid sentence, if you can add to the description of this particular week, please do so.
30 November 2016
ClarionLiveOpenWebinar_2016-11-30.wmv
0:00 We start off with Lisa's issues trying to incorporate SafeUpdate in to a PowerBasic program. First issue is that it doesn't upload the exe and xml files to the ftp site. John is having this issue as well. For now it's ok to just copy those 2 files manually to the ftp site. Second issue is that when the update tries to check for download it says there's an issue with the signature file - it's untrusted. John had that issue as well and turned off the template setting for checking that a certificate is trusted. That worked and we made progress! Lisa wanted to know how to do debugging with SafeUpdate and John found the code to add that would allow the debug log to interface with Ultimate Debug Overview.
0:51 Carl Davis has an issue with the proper icon not showing for his app. He didn't have the icon set for the application icon in the project settings. After a compile it still didn't change his icon. Sounds like now it's a windows caching issue. To clear that cache, at a command prompt run ie4uinit.exe -ClearIconCache .
Template talk here about a project Carl is working on to merge SQL DBs.
23 November 2016
ClarionLiveOpenWebinar_2016-11-23.wmv
0:00 John wants to know what Lisa is working on now. Adding SafeUpdate to her PowerBasic dll functions. She confirms with Bruce that she should be ok with adding additional params to the SafeDownload procedure in order to pass in the values of the html paths for the installer and the xml version file.
0:10 Brian Roche asks about SSL - with changing IP addresses.
WATCH OUT - here comes the cricket discussion! LOL!
0:19 John Farmer has an issue with WinEvent - GetFreeDiskSpace doesn't appear to be calculating the right # on Win10. Bruce doesn't know offhand - send him a mail please.
0:30 It's quiet, so we resume working on UltimateSQL's ability to hook in to other backends. We also chat about Capesoft's GPF Reporter since it helps us figure out why the new changes are now causing a GPF on exiting the program. Turns out on full compile, incorrect old dlls were being copied to the output folder. We make more progress on adding Postgres to UltimateSQL, but unfortunately run out of time...
16 November 2016
ClarionLiveOpenWebinar_2016-11-16.wmv
0:00 Merle has a question about the proper way to take information that is posted in one application and post that to another application. It seems to be working IF the files are all in the same folder, but when they are in different paths, it breaks.
0:20 Richard Johnson wants to know where Clarion .Net fits in the Clarion family. Unfortunately no .Net guys around today.
0:23 David Watson wants to if for Merle's issue wouldn't it better to use global variables to hold full path and file name?
0:28 David Patterson has questions about what which wizard template set to choose when creating a new app for a NetTalk app.
0:34 Mike Tabakin has a question about UltimateSQL - where does he does all the connection string stuff? In the template, check the box 'Prompt for Connection'.
0:36 Roberto wants to know if there is a way in the IDE to tag a line in embed code that you can come back to - but it doesn't save the tag when you exit the file. Sorry, Clarion doesn't save that info.
0:39 Greg Fasolt is getting an error in UltimateDebug - calling procedure as function. In UltimateDebug.inc add ",proc" to the end of the declaration for GetFieldList().
0:44 Carl Davis revists his question about being able to generate code that goes to an editable area. He's found a way.
0:50 We go back to MikeT - he's still getting the Clarion connection screen popup, even though he put in the UltimateSQL template fields. Problem is that he has the actually owner string set in his dictionary and those should now be globals.
0:58 John's TIP OF THE DAY - SlickRun - a free floating command line utility for Windows. http://www.bayden.com/slickrun/ and it's Free!
1:03 Dan Scott asks about SendTo 3 - the local template allows putting a limit on the number of records, is there a way to have a global switch to limit all SendTo procedures. Bruce says it can probably be added to his to do list as a feature. Next, when he adds the SendTo template and says it's defined externally in the data dll, but there are parameters to be set. If he includes those, then he gets errors compiling.
We wrap up early today...
9 November 2016
ClarionLiveOpenWebinar_2016-11-09.wmv
0:00 Lisa gives an update on her ongoing battle to create a Clarion dll that can be called from Powerbasic. In the end, the problem turns out to be some missing project defines for _ABCLinkMode_=>1;_ABCDllMode_=>0. It's a lesson to be learn when hand coding a project so that the templates aren't doing that work for you. Many thanks to Jon Eskdale and Bruce for the time spent to help me out!
0:05 Don Vanasse has questions about he might overcome problems of his program not having network connectivity, but he can't just stop the programming from running, since it's a POS system.
Carl Davis says they have a similar POS model and they test for existence/creation of a file on the network - if it errors out, then the register is put in 'offline' mode. Carl then has code throughout to test for being offline and runs locally instead with some functions blocked.
Mark Sarson steps in and says Don could override the ABC FileManager method. He shows us an example where he has derived some of the procedures and adds Open for Don. Don't forget to change the FileManager class used at the Global level in all the apps in your solution.
0:29 David Watson
0:45 John starts working on UltimateSQL to add other backends. SQLite code gets added; we'll be looking forward to others testing and giving input on Postgres changes.
1:50 Brian Roche has a question on getting a SQL count from a Postgres database using PROP:SQL and it's not working. John suggested that he put in error code checking after the PROP:SQL to see what's being returned. Lisa suggested that he look at the Postgres equivalent of SQL Profiler to see what exactly Clarion is passing to the back end; or use trace() to view the log; or use db.turnontracing() to dump the sql commands to OutputDebugView +++.
2 November 2016
ClarionLiveOpenWebinar_2016-11-02.wmv
We start a little late trying to see if we can figure out a resolution issue for Bruce.
0:07 Lisa needs a little more help with her question from last week about creating a Clarion dll to be called from PowerBasic. Now that she has a PB test exe, it's blowing up just when the call to EncryptString (in Clarion dll) is added to the PB program. We look at a few things, but no luck. Jon Eskdale steps in and offers to try to get it working for me.
0:27 Richard Johnson wants to know how to manually create classes in Clarion. Bruce comes to the rescue with a mini-tutorial.
0:45 In a rare appearance, Arnold comes by to ask Bruce about the timestamp variables used in his distributed data model - can he rename them? In theory yes, but Bruce says to watch out and let him know of any issues he might come across where the NetTalk templates are looking for a specific variable name - make sure to leave the external names the same and make use of the user option as noted in the docs.
0:45 Carl Davis has a couple of questions: 1 - Is there a way to generate source via the templates and make it editable? No, but you can edit the templates to add conditions and such to change the generated code as needed. 2 - He has a wizard that generates a txa, but it's got a problem... Bruce helps him figure out the issues.
0:55 Merle has a couple of questions: 1 - He's got 2 apps with 2 different dct's and needs to post payments between the two, but of course every time he edits one, it breaks the other. Bruce gives him the low down. 2 - Merle needs to create a timer to track the start/stop time of a call. Super easy if you can insert a record on a browse - make use of Clarion's clock() function. 3 - Merle wants to see a demo on using EasyHelp and DrawShot to create some awesome help. Much discussion ensures, Arnold and Bijan talk about using Dr Explain (two webinars on that 54 & 285).
1:20 Bijan has a SecWin question for Bruce.
1:25 Alejandro has a jFiles question.
1:28 David Patterson wonders where he can find the Google API code from last Friday's webinar. It's not quite ready for distribution - stay tuned for an announcement.
1:30 We had a quick discussion about what's coming up on this Friday's webinar - double SQL edition.
1:36 Piet has a question on NetTalk about an issue he's having - turns out his filter was correct, but the condition was wrong.
26 October 2016
ClarionLiveOpenWebinar_2016-10-26.wmv
0:00 Rick Dafler updated SendTo in some older apps and started getting errors in the exp files . Bruce says that there's a cache that is wiped out every day (Capesoft deal, not Clarion), go to the global extension for that 3rd party product, refresh classes. Unresolved external or not available for export errors in the exp file. This will 'automagically' fix itself the next day.
0:06 BrianR has a prop:sql question about trying to get a count. We suggested he use UltimateSQL since it does all the backend work for you. Counter# = uSQL.QueryResult('Select count(*) from myTable where...')
0:09 Dan Scott has an issue with severe window flickering on an update form, and he can't figure out why. The problem is that you cannot put display statements between the open(window) and the first take accept.
1:04 Bijan has a TearOff question. Bruce suggests using Clarion's command bars instead of TearOff in this instance since he want popups. TearOff is better suited to offices where each user does 10 procedures each day and each user has 10 different procedures. Inside the IDE does anyone else notice that CTRL+F doesn't always display the searches? Yes, the dropdown box for previous searches does NOT work - there's no rhyme or reason as to what shows up in the list or in what order. No one uses it anymore.
1:33 MarkW has questions about SMTP mail.
1:39 Lisa wants to know how to set up a dll that allows a PowerBasic program to make use of Cryptonite to encrypt/decrypt a string in an ini file or private clipboard. Bruce gets her started with the basic structure.
19 October 2016
ClarionLiveOpenWebinar_2016-10-19.wmv
0:00 David Watson says he thought that looping through views in c10 does not behave the same way it used to c6, he's getting a full table scan. It does actually work the same, it turns out this is what happens when your prop:order doesn't match your prop:filter. Also David needed to make use of UPPER() to speed things up since he was using a case insensitive key. Simon points out the use of buffer(view) will also speed up things.
0:23 Francisco Duran wants to know what is the risk of setting all files as 'none threaded' in the global properties. He will try to create a test case
0:33 Greg Fasolt has a question about iDash. He wants to add widgets dynamically based on the values in some tables. Bruce gives a demo on exactly how to do this.
0:50 DavidW wants to know how to create an alert on a control dynamically. He wanted to create an alert on an image field, unfortunately that's not allowed. Bruce gives us a tip on finding out what controls you can alert on - drop that kind of control on a window and see if there is an alert in the properties tab.
1:00 GregF wants to know if there might be support for the Noyantis stuff in iDash. Bruce says yes, but Andy will have to do the work on his side to create the widgets; iDash is just a container for widgets.
1:10 Lisa tests the newest UltimateUtilities for John to see that ActiveX program is included and working. DavidW asks if it will print out a list of the OCX's that are loaded on your machine. No, but John refers us to RegDllView from Nirsoft. http://www.nirsoft.net/utils/registered_dll_view.html
12 October 2016
ClarionLiveOpenWebinar_2016-10-12.wmv
Oops, we start late due to some technical difficulties...
0:08 MikeT is having issues with updating his dct, FM3 is generating an error on all workstations after the first one. The problem is that he's got his own code for actually updating the programs, but currently that's happening after FM3's SQLConnect dialog. Since he has UltimateSQL installed, Lisa suggests he look for the Before UltimateSQL Init embed point and move his update code to there. It should be happening as early as possible in the program.
0:21 Victor is using CPCS and is currently resetting the page number each time the customer changes. He's looking for a way to know what page that is in the whole doc in order to make reprinting one page easier.
0:29 Juha is manually resizing a draw image on display. When the window is resized, then he wants to manually resize the image again. John directs him towards TakeEvent and testing for KeyCode() = MouseLeftUp and Sizing = true.
0:38 Lisa asks if anyone has had experience reformatting/reloading an upgrade win10 machine without losing the free win10 key that was activated. Piet gives us a link with faqs
http://answers.microsoft.com/en-us/windows/forum/windows_10/reinstalling-windows-10-after-upgrade/578d0b7f-57e4-4893-b9d1-6cfac0d6290a. RickD says make sure to make use of BelArc Advisor to get your keys and such first; Wolfgang mentions jellybean key finder from cnet.com for that also. BobW mentions looking at tweaking.com for a free repair tool that's very handy and may solve some issues that are requiring reloading to begin with.
0:53 John shows us the new dashboard he's created using Noyantis's DockingPanes.
5 October 2016
ClarionLiveOpenWebinar_2016-10-05.wmv
0:00 John is working on his reflections server again and has an issue where the login page won't do anything on the login button.
Lisa asks what are the advantages/disadvantages to using the ~ to embed icons in your project. Embedded icons don't have to be shipped and it's one less file for an outsider to manipulate in your system (think change your logo). Embedding does make the dll/exe bigger, but you do have the advantage of the file already being loaded into memory vs having to read off disk.
0:22 David Watson wants to know about opening/closing files in source procedure. He seems to remember a checkbox in c6, but can't find in c10.
0:26 Lisa wants to access the 'must be in list' choices so that she can display those in a browse and drop list instead of having to manually create a queue or something where she's having to duplicate info that is already stored in the dictionary. This would prevent the issue of someone changing the dictionary values/choices and not changing embed code to match it. Bruce walks us thru writing a code template to pull that info and put in a string theory object.
1:03 Merle asks about a nettalk.ini file that is being generated and contains the ftp settings that SendTo is using. Is he just supposed to just edit those settings manually? When Merle shows his ini, Lisa asks about the possibility of encrypting that password instead of it being open to the world. Bruce says yes, Cryptonite will do that and has documentation on encrypting ini file entries. Bruce walks Merle through finding the code that is creating the ini file - looks to be copied from a Capesoft example. It will keep the last settings the user typed in.
John wants to add a calendar/scheduler to his web server. Is webinar 93 a good review, or should he be looking at something more current? Bruce also recommends looking at some of the NetTalk user group notes.
September 29 2016
ClarionLiveOpenWebinar_2016-09-28.wmv
0:00 David Watson has an issue extracting JSON files. Bruce helps David understand what he's done wrong.
0:35 Stan Miller has a similar problem with XML files where the same ID exists twice inside a loop. Bruce gives a small example, but unfortunately Stan's mic isn't working well.
0:42 Greg Bailey has a request - in SecWin when you reset the password, it doesn't reset the last pw changed date. Bruce says it sounds legit, but please send request to Geoff - he's the SecWin guy.
0:45 John is trying to apply the distributed data stuff from Friday's webinar to Script-It! but he's having issues with it syncing with the server.
0:57 Rick Dafler needs a vote of confidence that he did the right thing to solve a problem.
1:05 Bruce gives us a public announcement NOT to install the latest c10.0.12345 due to issues with REAL data types corrupting his data.
1:08 Merle needs help with a report, his report doesn't work and he thinks the filter doesn't work because he's comparing numbers that are actually strings. Use the Clarion function INT() to pull the integer part out of a string.
1:20 John updates to the latest version of NT, but is still having issues. Turns out he's found a bug with using Blobs in the sync to server logic; Bruce will look at for next release.
1:43 Mike Tabakin has a listbox from a queue, and he wants to do a report on that. SendTo has a button for that which Mike will look for.
September 21 2016
ClarionLiveOpenWebinar_2016-09-21.wmv
0:00 Lisa starts us off with several questions. First off she wants to use MakeOver to try and mimic the colors/styles that Noyantis CommandBars is using with the office2013.dll theme. Bruce shows us how to modify the ini file that MakeOver uses. Perhaps we'll get an updated future webinar on MakeOver since the stylizer program that used to ship with MakeOver is no longer up to date.
Next, is it possible to have a stacked column on a browse, do I have to create a local var that gets <crlf> added when the next desc field isn't empty. Nope you can't do it in plain Clarion. John suggests looking at Noyantis' ReportControl. Don DeRespinis says that MH's SuperStuff Template can do that as well.
Lastly, is there a way to further manipulate the wizards so that they don't create stuff such as sheet/tab controls for sort orders on browses when only 1 key is selected, or the 'General' tab that is created on Update forms. Bruce says he made some changes for those very things and demo'd them at DevCon 2011, at which point SoftVelocity said they'd include them in a next release, but that hasn't happened yet.
0:30 Carl Davis is looking for help creating a template wizard that generates a list of dictionary relations, but he's having a problem looping thru the grandchildren. Bruce helps with some debugging and explains some of the template concepts for him - Fix, Find, FileRelationType.
0:50 Merle Winder wants to know what everyone's thoughts about storing ACH files for a period of time before they get transmitted to the Federal Reserve or other banks since they have to be unencrypted.
0:56 John has created some widgets for his iDash dashboard. He's created a listbox widget, but he can't resize or move it around. He walks us through creating a widget. With no other questions on the board, Lisa starts asking John about his use of the Noyantis CommandBar.
September 14 2016
ClarionLiveOpenWebinar_2016-09-14.wmv
0:00 Brian Roche is wondering if anyone else is getting errors with FM3 in yesterday's release of Clarion10. Bruce will pass along a request to Geoff to look at FM3 latest build to see if he can tell if it's an issue with FM3 or recent change to the ODBC driver. So far we've only heard of it being an issue with Postgres. Brian later reports that he reverted back a version and all is fine... so maybe it is an issue with the driver. Looks like someone else also posted in the newsgroup that they had an issue with MSSQL.
0:05 MikeT can't figure out to make regions work in the embeditor so that he can leave in some test code that he's commented out, but doesn't want it to take up screen real estate. We show him !Region RegionName .... !EndRegion to create collapsible code. Greg M asks if it used to be OMIT... Lisa explains no, OMIT is used to tell the compiler to skip code under certain circumstances, vs Regions which are just used in the display of code, all code within a region is still compiled.
0:10 David Patterson calls in with a FileExplorer issue. Code that works fine in a standalone exe, is not working in a multi-dll app. He's looked at all the suggestions Bruce has for multi-dll, so Bruce asks for him to send a small example.
0:18 Dan Scott is having issues trying to get SendTo3 to total correctly. Bruce gives a short tutorial. Dan says he uses ClarionTools for his sorting, will that be an issue? Nope, SendTo takes the sorting/filtering straight from the view itself, it doesn't care how you got there. MikeT pops in wondering if you can indicate whether a 'total' is a sum or a count.
0:29 Gregg Matteson also has a question about SendTo 3, he's getting errors trying to install the abc demo. Since Gregg doesn't have office inside installed, he can remove those files
0:33 David Watson wonders what Brian means by 'go back a version', does that mean complete reinstall. It depends on how you install c10 to begin with. If you keep in separate directories, then just point back to that one. If not, then just reinstall on top.
0:36 John has a request for Bruce - he's looking to add dashboards to his product, can he get a demo of iDash? MikeT shows us a real world application where he's included iDash.
1:08 We go back to Dan - he's now having a problem where a large browse is having a huge impact on his browse even opening. Bruce gives him the tips/tricks to get around this.
1:18 Bijan has just downloaded the lastest SendTo 3 and he's getting an error upgrading. It's important for everyone to READ the manual section Upgrading to SendTo 3. Bijan needs to upgrade or read the section and make changes manually.
1:21 Merle would Bruce help him enhance his SendTo 3 application so that his customers have only 4 little mouse clicks for uploading to an FTP site.
September 7 2016
ClarionLiveOpenWebinar_2016-09-07.wmv
0:00 Piet Bouma starts us out with a String Theory question. He wants to know how to add a global variable to the dictionary - specifically adding a global string theory object so that you can set an initial value on your GUID fields using glo:st.MakeGuid().
0:12 Wolfgang wants to know how to count the number of records that will display in a browsebox - and he wants to know just before the window opens. Everything he's tried, shows 0. Bruce shows us how to accomplish that using the String Theory trace method to write out to DebugView++ - this leads us down a path that determines records(brw1.q) is set by the time the window hits the event() GainFocus.
We wandered around the browse settings, looking to set header colors, sort icons, etc,
1:01 Peter Puttock wonders if he can control what record gets highlighted after processing some code, such as changing a record.
1:14 Wolfgang asks if he can do a get on a queue for a specific record.
1:25 Peter comes back with the results of his tests.
Next Peter seeks some help with errors he's getting moving up to Clarion 10 on a win10 machine.
1:50 William Cirino is having issues trying to incorporate recent lookups in to Google Maps app.
August 31 2016
ClarionLiveOpenWebinar_2016-08-31.wmv
0:06 Mike Tabakin upgraded to SendTo 3 and when importing the dct, gets a duplicate file name. Just go ahead and delete the original SendToTemp file and let the import create a new one. Next question after updating to newest NetTalk, where can he find the a new ftp_UploadFile to keep him from getting invalid prototype. He had originally downloaded those procedures from a old demo app.
0:26 David Watson is having issues with conversion of app from c6.2 to c10. He used to be able to convert a database after changing a field just by browsing the table from the dictionary, now it just wants to create a conversion program. Bruce thinks he wasn't saving the dictionary prior to browsing. We confirmed that it does work for him now.
Is it possible to scroll the window design area so that i can see the guidelines... the dotted lines? Unfortunately, no you can't scroll past whatever you set the window size to be.
Is there a tutorial showing best practices for program installation on end-user computers? He can still use Setupbuilder, Friedrich has a document online that demonstrates all that for you.
How to use cape001 and cape002 to wrap around your own templates - Bruce thinks 273, then Mike's was 274.
David wants to create a listbox with only images in it. Is there a template for that? Noyantis Report Control. John also remembers SysList, but doesn't think that's still around. Bruce says to check with Charles Edmonds on the newsgroups, or look on SourceForge for the source. Greg also mentions Clarion's BrowseGrid template as a possibility.
0:52 We looked UltimateDebug's template for a few things that need cleaning up. Took some crazy pools. Fixed template so that multi-site is in now clearly defined in one place.
Piet Bouma says he's not always able to select an item from control templates in the window designer. He clicks the control template and it is immediately de-selected. He can close the window and reopen and it works fine. On a fluke John tells him to close the 'Dictionary Changes' tab. Strangely enough it seems to be working now.
1:22 Sheila had a client upgrade and now the program will only run on the server, not on any of the client pc's. She got several ideas to - turn off firewall for test, install MSSQL Mgt Studio, try ip addr instead of servername, Toad for SQL Server freeware, check RW on data folder, Navicat.
August 24 2016
ClarionLiveOpenWebinar_2016-08-24.wmv
0:00 We start off with an OddJob question from John. He doesn't want the little black box to show up, he wants it hidden. Bruce has John try to run his program through the OddJob demo where he can see what is coming back.
David Watson wants to know if OddJob can start Apache on a Windows box using LAMP installation. You could actually do it through Clarion with the Run command, but OddJob allows you more flexibility.
Bob Wilhelm gives us an update on his error 78 - he doesn't know why, but he had to change the browse from page-loaded to file-loaded to get rid of the error.
0:38 David W has another question for Bruce about FileExplorer 5 - the browser isn't resizing with his window. Turns out he's got a Legacy app, which isn't great about resizing. Since this app is fairly new and doesn't have much embed code, Bruce suggests that he switch it over to ABC. Bruce walks him thru the steps to change it from Legacy to ABC. Export to TXA, replace CLARION with ABC.
1:00 Mike Valente has a question about Access Denied - Parameter Typing Error. Bruce says the most common place to see this is when performing string operations on a number (like UPPER around a numeric variable). Look for prop:filter or prop:order lines. This is an app written in Clarion 4 Report Writer. Carl Davis thinks he might help, so they will chat offline.
1:07 John wants to know if there is a way to turn off the beep sound that occurs when you enter something invalid. This is handcode in an app that was just brought forward from c6 to c10 and now it behaves differently.
August 17 2016
ClarionLiveOpenWebinar_2016-08-17.wmv
0:00 Bob Wilhelm has a couple of issues and questions with UltimateDebug. John will look in to the error generated by adding the proc ext template for UltimateTrace. To fix his compile issue on the multi-dll app, turn on export classes in the data app.
0:14 Next Bob is getting the dreaded error 78 - invalid # of parameters. All sorts of stuff tried and failed... Bob thinks he'll just rebuild the browse from scratch since it's a small procedure.
1:00 David Watson wants to know if you can enter foreign characters in an entry field. Bruce tells us you don't get Unicode, but you can select Charset to select a particular font.
Is there anyway to embed Chrome in to a Clarion Browse. No way that we're aware of at the moment - you can embed IE with the use of Capesoft's File Explorer.
1:10 Lisa wants to be able to fill a drop box via a queue instead of a file. Greg suggests switching over to an in-memory file - he uses PDLookup. Bruce says RecentLookups will do quite a bit of the work for me.
1:17 Mike Hanson shows us a way to get around the Clarion8 -> Clarion10 update issue where radio buttons behave differently if they have an invalid default value. But since Bob needs to touch 526 procedures, then it would be a better option to write a template or modify the window manager class. Looks like we've got a webinar for Sept 2nd!
August 10 2016
ClarionLiveOpenWebinar_2016-08-10.wmv
0:00 Marius Nel is getting errors when he uses logout/commit. When he changed his code to only do logout/commit on the tps files (not on the in-memory files), now his system is running really slow. This is only happening on one system. Greg explains the slowness is now happening because originally the logout was failing (you can't mix driver types inside a logout), and now that Marius fixed the error, everyone is experiencing the error because logout locks the file for everyone until the commit occurs. Logout should only be used when a table change is occurring, not when you just need to gather info. Greg also explains the diff with stream/flush.
0:10 Richard Johnson has a question about how to get the Clarion IDE Set Breakpoint function to work? We talk all around it until Lisa skypes the Clarion Debug master Russ Eggen - he informs us that the IDE function is only available to .NET, not win32 apps. :(
0:24 Richard has another question about using the ClarionLive Utilities. He was getting an error with UD, but can't remember what is was and now after changing multiple template options, it seems to be working. Can UltimateDebug be used in C9? Yes.
0:30 Francisco wants to know where he can download Ultimate DebugOverview? From the ClarionLive wiki page, it's part of the ClarionLive Utilities. He's having issues getting it going. Turns out he pulled from GitHub and that isn't current anymore.
0:41 No more questions, so we work on the ultimate utilities install program (SetupBuilder) to fix issues with templates not registering AND adding the UltimateDebug Overview to the IDE Tools menu to make it even to launch!
August 3 2016
ClarionLiveOpenWebinar_2016-08-03.wmv
0:00 Brian Roche has a question about not matching prototype error. Bruce gives us an overview as to how passing parameters work, then we look at Brian's screen and solve the issue with his parameter types not matching the defined parameter list.
0:15 Yuha is back with this problem from last week and shares his screen. We walk thru the process of creating a multi-dll project. Setting globals, editing project dependencies, setting module link to dll and adding references to apps that it's dependent on.
0:27 John Farmer has an off-topic question about email - what are others suggestions about moving over from pop to imap to be more user friendly when having multiple devices.
0:31 John has a request for Bruce - he wants a change to xFiles to allow passing a StringTheory object.
0:35 Lisa and John begin a chat about her progress on using SQLite and UltimateSQL. Then we move on to discussion about Lisa's experience upgrading to win10 last week and Mark Goldberg pops in with some suggestions.
1:15ish Carl Davis asks about an example of C# calling a Clarion procedure. Gordon Smith wrote an article on ClarionMag about using interfaces - MarkG think this is the best way to do it.
Then we just ramble on about stuff and try to get Mark to present a Friday webinar.
July 27 2016
ClarionLiveOpenWebinar_2016-07-27.wmv
Session opened with question(s) from Merle Windler on using SendTo to send an XML file by FTP – mostly a Bruce Johnson question. The FTP was not available in his SendTo window and that was easily resolved by loading that process in the SendTo Window Extension Template. Merle had the XML process working but wasn’t able to get the date format that he wanted/needed. Unfortunately, after the first fix for the FTP setting the process GPF’d, and there was no place in the extension to easily set the date format. Bruce asked Merle to send the example in, so they’ll probably be some update to SendTo.
Michael Holland had issues with updating a very old application as he had some Windows that had errors that he was not able to resolve and he couldn’t open the windows. Bruce showed us all how to read the error messages that weren’t under the ‘normal’ ellipses setting. The issue was picture setting that were ignored in older version but now are captured. This then resulted in a general discussion of fonts and application design. Worth a listen.
John showed his latest solution to his reflector process with an solution called Page Kite. Written in Python. Does what John wants to do and is less expensive and easy to work with.
Julia (Yuha) Olsone had some problem splitting an application for a single EXE into DLL and EXE. He’s succeed at least one but now has issues. Unfortunately, his old version of Windows would not allow screen sharing and none of use could figure out what the exact issue might be. Julia is going to upgrade Windows and we’ll try again next week.
Finally, Wolfgang Orth had a question on determining if the user had made any changes to the record during a ‘Change’ entry when the user select OK. I showed Wolfgang that the default of Clarion, because it is a multi-user network solution is to make a copy of the opening record in History and that record can then easily be compared to the existing buffer on exit and noted as a global variable, etc, for later use. Simon Kemp and Greg Bailey also chimed in and fleshed out the reasoning and some examples.
Once again a good session.
July 20 2016
ClarionLiveOpenWebinar_2016-07-20.wmv
0:00 No questions on the start, so John shows us his Tip of the Day. Making use of code snippets for stuff like the UltimateDebug and UltimateSQL procedure calls as a shortcut! We spend a lot of time trying to make it fill in the code with expressions, but find you can't do it manually, you must select it from the code snippet pop up window - for most Ctrl+J doesn't work because it's assigned to the next embed point, so you may have to tweak you shortcut keys through the Options menu.
0:48 Merle wants to know the proper way to make use of an in-memory table. Bruce discusses how they work just like a regular TopSpeed file. In this particular case Merle has a need to write a report sorted on a couple of random fields and he doesn't want to add a key just for this purpose. Lisa and RickD suggest that he use Prop:Order or .AppendOrder to sort the file on whatever field he wants, just don't assign a key to the table itself in the report properties.
1:06 Arnold makes his entry to ask a question about how to get rid of the extra menu items that show up when you right-click on a field. No one seems to have a clue. Lisa googles it and finds out it's actually being added there by windows to support multiple languages and keyboards that accept both left-to-right and right-to-left entry. Looks like maybe you can shut that off through the control panel, but he'll need to find the correct options for his version of windows.
1:20 Victor has an issue where with 2 browses on the form, the 2nd one doesn't always sync up properly the parent browse. Bruce shows us where to use the Reset fields on the child browse to force the child to update when one of the parent fields changes.
1:33 Sam Scherer is running c5.5 and he's having an issue trying to learn from the registry what OS name is running. Wolfgang and Simon give him some code to run, and it turns out that he had a space in the name of the key.
1:50 We talk a little about Lisa's issue with using UltimateSQL on a SQLite table. Bruce says he's tried to use the SQLite in-memory table before, but was unsuccessful and thinks Clarion is blocking this functionality. Lisa gets some ideas on changing the Query file definition and will see where that takes her.
July 13 2016
ClarionLiveOpenWebinar_2016-07-13.wmv
0:00 Merle wants to know how to update SendTo when it requires an update to the tables in the dictionary. If you delete the tables and import new ones from txd, then you will get errors because you have changed the GUIDs on each field. So you need to import from a DCTX. And then reimport the new procedures.
0:20 Marc gives us an update to his SQL login hanging problem - turns out the machine in question was using the wrong native client version. That machine was running SQL Server Native Client 11.3 and all Marc's stuff is running 11.0. Bruce also gave a tip of the day to make sure that you don't use a comma, in your password string.
0:24 Simon jumps in and tells him there's a way to check that your connection string was going to work. As he remembers it, there's a registry key HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers. Mark Riffey posts some code to do just that... http://pastebin.com/TGZd5nR6.
0:43 John wants to know what this Phone Gap thing is, and why would he need it? Bruce draws a diagram and explains.
1:13 Victor has an issue where while processing a record, he needs to read another record in that same file. Bruce tells us about using an Alias table in the dictionary. A 2nd alternative is to write a procedure that saves the files, opens files, does the lookup code, close files, and restores the files back.
1:18 Merle is back, he's imported, or thinks he has, and is getting an error. The table isn't appearing in the dictionary. Bruce suggests closing the IDE and trying the import again. Since it's asking to open the file twice, and Merle is running c9.1, Bruce remembers an issue in c9.1 where the imported dctx must be in the same folder as the current dctx is. If it still doesn't work then we can open the dctx and delete the thing it's complaining about. He deletes the offending line and now he's moving on!
July 6 2016
ClarionLiveOpenWebinar_2016-07-06.wmv
0:05 Phillip Jackson picks up right where we left off last week - we look at his sample program in c10. If he runs it from the IDE, the top line of the window isn't drawn; if it runs from explorer then all is happy. He remembers having issues installing c10 initially, but no problems since then. We couldn't figure out anything, but did get him a work around of calling the program directly in post build event command line.
0:21 Merle has a customer who would like to make use of sending statements to an online bill pay service, so that their customers can pull up their own statement and make a payment. Bruce suggested using a browse and then use SendTo to allow them to export to whatever format they wanted.
0:28 Victor Gouge shows us an example of conditionally turning on/off buttons based on what record is highlighted in the browse. Under event New Selection, first line is ThisWindow.Update(), then your code to enable/disable.
0:35? John shows us the newest UltimateDebug Overview - new temp prefix settings & coloring. Next he shows Lisa how to make use of trace within UDO.
June 29 2016
ClarionLiveOpenWebinar_2016-06-29.wmv
0:00 Mike Tabakin is getting a compile error with the new UD Overview. John just fixed that with a new release earlier today - please download the latest! This takes John in to a little tour showing some of the latest programming changes. Multi-dll is now getting handled, bug fixes and color options on filters/searches.
0:10 Bruce gives us all a reminder how important it is to keep anti-virus up-to-date. One of his admin people got infected with a new variant - zepto virus. His up-to-date Norton didn't catch it, but they found it with MalwareBytes. Good tip to make use of passwords on network shares to prevent virus propagation thru your office.
0:21 Marc Walgren has an issue with an app he's converted to win10, on 2 machines it just hangs unless he unhides the SQL connection window. No recommendations other than what he's already tried.
0:29 David Patterson gives us an update on his SQL NULL date issue. On the external name of the field that allows NULL you add "| CHECKFORNULL" and it works to display properly on the blank dates.
0:32 David also has a question about what to use if you have a bigint on the SQL side... its a decimal(19) on the Clarion side... test for mileage. :) John walks thru an example of importing a SQL table to see how Clarion sets it up.
0:45 RickD is curious if anyone is using the latest CW. John doesn't because he has issues with it compiling the activeX stuff.
0:46 John and Lisa go about modifying the SetupBuilder project for UltimateUtilities to allow the user to select the path where the programs and examples are installed. We get success... next item is to auto add UltimateDebug Overview to the Tools menu in the Clarion IDE.
1:47 Phillip Jackson has an issue if he compiles and runs an app from within the IDE of the top partial window is white and it hangs. If he runs from explorer it's find. Bruce has him turn on the manifest settings (his were all off) - no difference. Phillip will come back next week and we'll attempt to debug.
June 22 2016
ClarionLiveOpenWebinar_2016-06-22.wmv
0:00 Lisa wants to know all the pros and cons for using UID strings(aka GUIDS) as the ID frield in a database over LONG (auto-numbered) fields.
0:47 Merle wants to know the proper way to setup and store info in ini files for permanent things like photos that need to be stored a record - like photos for a construction site. On a network the path to those specific server locations may be different on each computer. Mike says .ini files are probably not the best way to do this since .ini are just text files and can be changed. Bruce draws us a chart on the possible
1:23 Merle's 2nd question is in relation to how to best display those photos when instead of just one per project you have 4 or 20. Instead of storing the photo location in the main record create a parent/child relation so you can have unlimited number to photos per project. Bruce shows the basics on creating a listbox and an image field. With Mike and Rick they show how to refresh the picture when a new browse is selected, preserving the aspect ratio, but fitting into the available space.
June 15 2016
ClarionLiveOpenWebinar_2016-06-15.wmv
0:00 John wants to know all the files that are getting compiled into his app.
0:08 David Patterson has a question about handling SQL dates in Clarion. He's having an issue with null date keys messing up the browses when changing the sort to descending. No one online today has seen that issue, but it was suggested to use Calculated Fields. Lisa said she hasn't used them in this fashion, but has used calculated fields - you defined a field in your clarion dictionary that is given an external name and marked readonly, then on the SQL side you define that calculated field - or you can set it as an option if using FM3. Lisa also suggested that David join the skype group Clarion-Based SQL and ask his question there to see if some of those SQL gurus have a better answer for him.
0:35 Bruce has a tip of the day - if you are using encryption (or compression) on a field (which creates binary data), then that encryption could end in a space, in which case you cannot make use of len(clip(field)) to get the length of the field to decrypt the field. There's 3 approaches to getting the length of the field - 1) use a fixed length field (if your field is string(255), then you always encrypt/decrypt with 255), 2) store the length of the encryption in a separate field, 3) put a 'dot' (or other char) at the end of the encrypted field, then use len(clip(field)) - 1 as the length for encryption.
0:42 Brian Roche is still on his class quest. He wants to allow the class to see his dictionary. Does he have to put .clw on the end of the file? Yes. And will he have the ability to use code completion. Bruce guesses that the answer is yes for code completion, but you may need to recompile first.
0:45 John shows off the concept of profiling that he's adding to the next release of UltimateDebugOverview+++ with Sprinkles. Super cool feature that allows you to make use of Clarion's built-in trace.exe that's been formatted and filtered to be easier to read - this could replace the need to use Mgt Studio's SQL Profiler for seeing the statements being sent from Clarion to SQL.
1:12 Merle has ideas on what he'd like to see for future training. Proper usage of queues, using ini files in the user location rather the default windows folder, also use of the ini to store photos and linking to the database. These are good suggestions, please bring up at the beginning of the next webinar.
1:16 John wants to have a theoretical discussion on websockets - for a point of sale system, customers want to view data remotely. Options, web server at their site, host in the cloud with partial replication, or a combination of both using web sockets (Bruce says this is called reflection).
June 8 2016
ClarionLiveOpenWebinar_2016-06-08.wmv
0:00 Brian Roche is still working on classes and getting subclasses to work. Turns out he didn't instantiate his class locally, but rather globally, which according to Bruce is rather uncool.
0:13 Wolfgang has another class question. He has a situation of opening/using/closing about 10 files and it happens about 12 times. He wonders if using a class could make this faster. Unfortunately not, Bruce recommends opening the files in the parent procedure and it's no problem if this is a source procedure.
0:20 Lisa is working on the design of a program where she needs to allow for variable format a string field to hold a G/L Account Number. Bruce demoed the use of patterns & key-in templates for entry of the field.
0:42 David Patterson wonders if you can share a dll in more than one solution. Yes. Bruce draws some diagrams of using dll hierarchies to share apps/dlls.
1:00 John shows off the latest UltimateDebugOverview+++ with Sprinkles - which thanks to Simon Kemp how actively monitors system debug log - no more saving a log file and loading - it's real time display now. This latest version is currently available for download on clarionlive.wikispaces.com. :)
June 1 2016
ClarionLiveOpenWebinar_2016-06-01.wmv
0:00 Bob Wilhelm has a question about all these random xml files that are under ...\AppData\Roaming\SoftVelocity\Clarion\10.0\Preferences. Bruce suggests it may be related to one of the new features that saves the open source files and preferences you had open when you last closed the solution.
0:12 Brian Roche has a followup question about classes.
0:16 Wolfgang reminds us this is the first webinar of the month! So he asks what are threads and what are they good for. He has an example he's made to illustrate it and a discussion with Bruce ensues.
0:35 Olu has a followup question on creating derived classes and templates. Bruce asks Olu to create a small app using his cleaned up class and get back to us later in the webinar.
0:51 Brian has another question - can a procedure/method in a class return more than one value? Bruce shows him an example - no you cannot, but instead you can pass parameters by address and modify them in your procedure.
0:54 Alejandro wants to know if he can plug his smarter locator class in place of the browse FilterLocator class. We looked at various things, turns out (after the language barrier issues) that he only wants this for one browse in particular and what he's doing is probably the best option. Lisa also suggested he could reach out to Joe Tailleur and ask about his jrtFilter which does allow for filtering across fields. Wolfgang also suggested creating a 'dummy' invisible field where all the fields needed are concatenated and then filter/locate on that field.
1:22 Mike Springer wonders if there is a way to sort a filedropcombo other than by the selected field. Or is there a better way than file drop combo? You can override the prop:order for the view in handcode.
1:30 Lastly John shows us the new and improved UltimateDebugOverview. Alpha version is available for download at http://clarionlive.wikispaces.com.
May 25 2016
ClarionLiveOpenWebinar_2016-05-25.wmv
John opened with a teaser about something that he wanted to present after the opening questions, but he would give any details. Mike Tabakin wanted to know if the presentation was on the Script IT! Update but that was a non starter. John did tell us a little about where he was in that process.
There were no opening questions, so Rick opened Bob Wilhelm’s mic for an update on the next Friday Webinar. Bob talked about his recent and past experiences with Crystal and little about its current association with SAP. The comments mentioned the use of the Clarion Report Writer with all saying they had not used it in years. Those comments prompted Wolfgang Orth to comment that he would like to SEE the current Clarion Report Writer.
John obliged which led into an exploration of Report Writer with John Farmer join in but there were no volunteers with Report Writer expertise. Dan Scott commented on a slight frustration in getting his version registered and going. John did have success in exploring some MS SQL tables and the group was impressed with the progress that had been made. Mike Hanson joined the group in the middle of the discussion and thought he was looking at Crystal.
John finally popped the teaser with a presentation on some great work he had completed using DebugView ++ resulting in “Inspector Debug.” No details as the teaser continues and John will make another short presentation on Friday.
As the session closed Dan Scott let us know he had some success installing the Report Writer. All present agreed that it was time for a Friday Webinar on the Latest Clarion Report Writer.
May 18 2016
ClarionLiveOpenWebinar_2016-05-18.wmv
0:00 Thanks to Rick Dafler for stepping in as Lisa's backup last week.
0:02 Marius Nel comes on with a problem with a report where he added some hand-code; he's having an issue where the "break" header is printing the wrong info. Bruce thinks that instead of trying to print this at the process record level, it should be happening in the TakeRecord event. RickD suggests that Marius make use of the new report break technology where you make use of detail bands instead of break headers/footers, and he recommends Break Dancing with Clarion is an excellent series of articles that can be found on the archives of ClarionMag.
0:28 Mark Riffey is putting buttons on a web form, which type would he use is he just wants to call some Clarion code - not save, change, etc. It's a type button, check send new value to server and insert your code there. Turns out he had his code in the right place, the problem was that he had UltimateDebug turned off. :(
0:36 Bill Grimaldi wants to know how to set the user mode on an OLE/COM/Active X object. John tells him how to send the license code when he calls the control. He uses EasyCom which doesn't seem to make sure of Clarion's PROP:Create... looks like he will need to contact IngaSoft and give them John's example.
0:58 Jeff Hojka has questions about logout/commit and when AutoInc happens. He's needing to go down this road for speed issues.
1:08 Greg Bailey has an issue with PROP:Disconnect not always working. It seems to me like you just need to listen to the webinar for what Bruce has to say on the last two topics.
1:31 Marius has another question about updating remote machines when an item becomes out-of-stock. Bruce suggests using NetRefresh and NetChat from the NetTalk platform.
May 11 2016
ClarionLiveOpenWebinar_2016-05-11.wmv
Notes for Wednesday Open Webinar, 11 May, 2016.
Abandoned by his erstwhile fellow hosts, our own intrepid John Hickey soldiered on and enlisted such help as was available by yours truly, Rick Dafler, (as a second recorder) to save the Wednesday Open Webinar.
Brian Roche opened with a group of questions on using Classes. As a newly minted class writer he had questions on Instantiation, how to include the class in his code and placement of the various class requirements. John tackled all that with aplomb and help from the Ultimate Class creator from the Clarion Live library. William Rollins joined in with a question on how the new class would handle multiple requests, that is, would it be threaded? That was followed by questions on using the class with dictionary/table access. Wolfgang Orth responded with an understanding of the Member() key word and the pros and cons of table access in classes.
The discussion shifted to Wolfgang’s own difficulties with selective bolding functionality on a queue loaded list box which led in to an exploration of style setting and using equates for style declaration.
After John and Wolfgang managed to get the selective styling to work, Mark Goldberg joined the session and lent some elegance to the solution. Mark cleared up some confusion about the earlier discussion of the Member() keyword, threading, and then helped us understand much more about equates, their uses and abuses, and why it is important to have the MAP section, even if it is empty. For that answer you need to listen to this webinar recording and, emphasizes why, you need to attend the Wednesday Open Webinar without fail. But especially if you are a co-host and are to take notes.
May 4 2016
ClarionLiveOpenWebinar_2016-05-04.wmv
MAY THE FOURTH BE WITH YOU! :) Or so John says.
0:00 Some discussion about whose on the latest version of C10. John decides to go for it live!
0:15 David wants to know if there's a way to compare what is set up in a dictionary versus what is set up on SQL side to see what is out of sync. Log discussion ensues, just listen!
Lisa asks about wanting to print the dictionary to get table definitions. Bruce suggests just printing the main clw.
Around the end of the first hour, our conversation drifts towards what else UltimateSQL can do for David. So we head towards the demo for UltimateSQL, John discovers it's missing a few components, so we'll need to rebuild the UltimateUtilities.
April 27 2016
ClarionLiveOpenWebinar_2016-04-27.wmv
0:00 Lisa has a question about triggering FM3 to pose a question to the user before converting the file. Ultimately there isn't, but since FM3 doesn't hook Share(), that could be used - write a procedure (and better yet a template) that would share/close every file in the .dct looking for error 47 on any table, if found, then prompt the user. Rick and Mike make use of a special table in the db that contains the db/product version to know when to trigger the conversion and also keeps older versions of the program from opening a more recent converted file.
0:19 Francisco has another question about FM3 about expanding a string field size. It works on TPS but not SQL. Bruce tells him that because SQL doesn't care about a string-length changing so no error is returned for FM3 to intercept. Suggestions are to look at VerifyViaSelect driver string, FM3's /goindeep command or just adding a new field to his file.
0:23 Wolfgang wants to point out a tip about using get(queue) when he wants to get the row that the user clicked on using listbox{PROP:ListMouseDownRow} - even though it appears this is returning a number, it is actually returning a string, so get(queue, ?listbox{prop:ListMouseDownRow}) doesn't work to return the proper queue record. Instead you can use get(queue, ?listbox{prop:ListMouseDownRow}+0) to force the 2nd param to be a number.
Mike Hanson uses prop:selected+0. Bruce reminds us of our recent discovery (March 16th) of an undocumented 3rd param to select(?listbox, rowno, colno). Bruce wants it on the record that Mike says he doesn't care how long the clw is - but Mike clarifies that it must be in small readable chunks. Now, along with Rick Martin, they get in to a discussion about readable code and proper documentation.
0:55 Marc Walgren is getting a strange behavior in c9.1 where he keeps getting a message to a save the app even when he's just building the solution. Someone else reported this on the newsgroups a little while ago - it's related to a recent windows update, which apparently is only cured by going to Windows10. Wolfgang tells us that on 2/21/16 Graham Dawson posted his solution to this issue - he came up with a program to automatically response yes when the window comes up.
1:01 Sheila wants to know if there is numeric picture that uses windows formats, like date/time formats? Mike jumps in to say there's nothing built in to Clarion, but he thinks that Phil Will's translator stuff (that CapeSoft has taken over) would do the trick. Bruce says AnyText might be a better solution to look at. Bruce asks her to send him an email with what exactly she's looking for and he'll help her figure out the best plan. Also she's looked at the 2011 demo of RightReports.
1:12 Dan Scott has a question about how to set the labels for the speedo gauge. Bruce pulls up the app and shows him how. A side discussion ensues as Mike & Rick show Bruce how to add a descriptive name to the control template names that show up on the extensions tab - to give a clue as to which instance it's referring to.
1:39 Bob Wilhelm wants to know if disabling a text control will also disable the scrollbars in the control. Yes, but if you mark the field read-only then you can still use the scrollbars and set the color to the windows disabled color.
1:44 LATE BREAKING NEWS - the ClarionLive Utilities have been updated now!
April 20 2016
ClarionLiveOpenWebinar_2016-04-20.wmv
0:00 Mike Springer has a question about filtering. Has a TPS file with about 30k records and he's moved the filtering to the template, but the browse takes about 6 secs to come up. Bruce and Rick walk him thru adding another key to the file, adding a reset variable to the browse and breaking his filter in to sections. We get pretty far along, Mike will give us some feedback next week as to how things work out.
1:05 Dan Scott needs some help with the NetTalk email demo and actually sending mail. He was pointing to the wrong URL and didn't have TLS turned on.
1:19 Charles Anderson gives a demo on how he moved a bunch of business rules in to classes. He's looking for feedback as to whether people are interested and he should take it to the next level, expand it and show more on a Friday webinar.
April 13 2016
ClarionLiveOpenWebinar_2016-04-13.wmv
0:00 Mike Hanson jumps in today with a NetTalk issue - Bruce finds the 'bad' code and the issues seems to be solved.
0:14 Bill Rollins has an issue with just a couple of clients where a multi-line browse in c6.3.
0:26 Richard Johnson has a problem with the embeditor opening in the module - Application Options | Embed Editor - check 'Edit errors in context' and in c9 Application tab (c10 IDE tab) Edit embedded source errors in generated code UNCHECK.
0:30 John has a problem with trying to retrieve a maintenance code in a SB installer. He originally used NT Server to return the maintenance code, but it locked up the installer on the next button. So he switched to SV's webservice, this worked on his machine, but on a virtual machine it balked on loading clarunExt.dll. Bruce suggested that maybe he was missing the proper .net installed on the VM. He's more interested in getting the NT version working.
0:40 Richard gives up an update on the issues he was having last week while trying to convert his dct from 9.1 to 10 - turns out it was a permissions issue. Good tip!
0:41 David Patterson has a question if its possible to pass a procedure name to another procedure and then call that passed in procedure name. Push bind the procedures, use the Evaluate function, and the Pop bind the procedures to keep the stack neat.
0:48 John's now ready to compile with the NT server back running. First he had to goto the correct url and
1:09? While we wait on John's compile, Peter Puttock wants to know about using Prop:SQL to get the results in to a queue. Turns out you can't really do that like he was trying to - you have to issue Prop:SQL on the table in question, then loop through the result set one record at a time to add to a queue if you want to make use of a queue. Conversely, you can use UltimateSQL to send your select statement to the backend and get the result set loaded in to a queue for you. Lisa explained how she uses Mgt Studio or Script.It! to create the proper select statement to generate the result set she's looking for, then saves it as the proper type of stored procedure and calls that from Clarion.
April 4 2016
ClarionLiveOpenWebinar_2016-04-06.wmv
0:00 Fred Charlot has a problem with connecting to SQL Server Express 2014 unless he's running it locally. Thomas Ross comes to the rescue and teaches us all kinds of things about testing connections - all starting with a blank text file named a.udl. We get the connection to SQL Server running, Rick Dafler steps in and we turn to working out the kinks on the Clarion side.
March 30 2016
ClarionLiveOpenWebinar_2016-03-30.wmv
0:00 John has an ABC question - he's trying to call a TPS viewer, but it's one behind the record he's on. He's making his call right after TakeNewSelection, but the problem is that nothing has actually been put in the buffers. To solve he needs to add a ThisWindow.Update and in his reference the queue variable name instead of the filename.field.
0:07 John also has an error - Label in prototype not found. It's an issue where a method GetProperty is found in both Noyantis templates and Capesoft's FileExplorer. For now John can comment out the FileExplorer methods since he doesn't use that part - Bruce will need to do some tweaking on his end since FE is still a dll product.
0:17 Richard Johnson wants to be able to create a popup window where the user can enter a value and have it returned from the calling program. John takes us thru setting up an example - the key is to go thru the Actions to enter the local variable that is the Return Value. Richard had missed this step.
0:27 Lisa has a question for Bruce on SecWin's security file when a user is getting a file has been corrupted error. This is the system noticing an attempt to subvert the license - SecWin is warning the date/time of the security file has gone backwards - just need to give them a new activation code.
0:36 Mike Tabakin has a suggestion on Richard's previous topic. If you need to return more than one value, than pass params by addr (*string paramone, *string paramtwo). John takes us on a tour of how to accomplish this as well. Rick Dafler points out that if you need to pass a decimal, then it has to be by addr anyway.
0:49 John shows us his variable debugger program - it allows him to trace how many times a certain call "Do Tools" is called. Basically it inserts UltimateDebug code before (and/or after) it finds your string of text. Turns out it is no longer available as part of the Ultimate Utilities, so John will add it as 'UltimateTrace'.
1:00 Sheila wants a recommendation on the best way for dealing with repeatable code - procedures, class, template or stored procedures. Based on her particular need - Bruce recommends a procedure where she can pass a table to the procedure.
1:09 Dan Scott is looking for Bruce to help make some StringTheory code more efficient.
March 23 2016
ClarionLiveOpenWebinar_2016-03-23.wmv
0:00 Mike Gorman has an invoice data model that he would like some feedback on.
0:32 Joe Tailleur has a question about starting a procedure and passing a queue. Bruce explains what's needed to pass an actual queue - since you really have to pass the pointer to it. Bruce types up a generic example.
0:43 Joe shares a tidbit he just discovered about using sqldummy tables... with an issue of having generic columns and the ability to loop through them. So instead he creates his file with a group, then puts all the fields in the group. Then using a local array he can assign the group to it and can loop thru the array.
0:47 Mike Tabakin has a question about coding efficiency. Turns out he's really looking for a better way to create a view of students who have taken specific courses. Bruce talks about a way to make his code a little more efficient, then Lisa shows him an example of a SQL view using INTERSECT - he can create this on back end and that will be way more efficient that passing a bunch of code requests across the internet.
In the midst Mike, Joe and Bruce have a conversation about why Mike's trace is still running even though he's turned it off.
1:03 Rob Mikkelson asks about threads and what the theoretical limit to the number of threads you can run on a single computer. Just listen to the webinar if you are curious!
1:18 Victor Gouge is trying to replace some legacy code that is written in php. He needs to create a folder name based on some values in a table. It's StringTheory to the rescue! Bruce shows us how to use SetValue and Replace to achieve what Victor's looking for.
March 16 2016
ClarionLiveOpenWebinar_2016-03-16.wmv
0:00 Ed Gronsky is looking for a better demo on Draw. He wants his customers to be able to draw themselves. Bruce gives a brief overview, and tells Ed to play around with the methods.
0:22 MikeT wants to know how to write to the Windows System Log. No one has, RickD suggests looking at HandyTools.
0:29 Richard Johnson has a bunch of script based workflows from batch files and powershell. Is it possible to write a console app in Clarion to include those scripts? Specifically to read and write to standard and error outputs. Bruce brings up some demos in OddJob that look promising for what Richard is looking for. RickD does a google search and finds a ConsoleTest.clw in GitHub.
0:45 Craig wants to know about the transparency layer in Draw, when you overlap a purple triangle with a green circle. What algorithm is Draw using? Can you choose your own algorithm? Bruce doesn't know, you'd have to look at the code itself.
0:47 Fred Shepard has a procedure that functions differently in C10 than it did in C8. A specific browse, where it seems that the all the hotfields are updated correctly, the proper cell is not highlighted. Turns out there is a 3rd param (undocumented) that can be added to the Select stmt that tells you what column to highlight in a browse. Bruce also told Fred about the IDE option to kill the exe before rebuilding. We searched for it and couldn't find it; Lisa found it in the ClarionProperties.xml file, so we added a line for it, but unfortunately it didn't work. Turns out Fred is using PE version of Clarion, so we suspect that's why we can't find the setting for him.
1:20 Brian Roche wants to do know if he is accessible to the DrownSSL vulnerability. No as long as he is using a NetTalk 8 or higher that was released since April 2015.
1:22 Fred Charlot is having a problem in c10 because a temporary file is not being found. A B1$ file. He's using a 3rd party template that is no longer in business. Bruce wonders if maybe he didn't copy over all the include files that are needed... go to accessory\libsrc\win.
March 9 2016
ClarionLiveOpenWebinar_2016-03-09.wmv
0:00 Lisa has recently discovered a situation she has where she's losing the history of customer names. If a customer name changes for whatever reason (firm name changes, license transfer, etc), then if you look up old invoices or support calls, etc, they show the current customer name instead of the name at the time. Several suggestions were made - keep name in those files, archive files to history and keep name there, add a child file to the customers that keeps the name/addr in it. This child file would have an expiration date or effective date that is used to determined which name/addr was effective at that time.
0:30 Fred Charlot has an issue where a real value always appears as a 0 unless you open the update form. After we checked out some stuff, Mike Hanson joined us just in the nick of time to do some real debugging.
1:45 Richard Johnson is looking for something to view postscript (.ps) files beside the GhostView that he's calling externally now. Only other thing we could come up with is to use something like PDFTracker and first convert those .ps files to a PDF - if he's ok with doing that conversion.
1:55 Bob Wilhelm is having an issue with a report and is looking for the right embed to change a header on the next page... TakeNextRecord is like the .next he's looking for.
March 2 2016
ClarionLiveOpenWebinar_2016-03-02.wmv
0:02 Brian Roche asks where he can find the latest version of the ClarionLive Class Creator. John shows him where on the wikipage that he can get the Ultimate Utility pack.
0:05 Rick Dafler has an issue with a report in C10 throwing an exception report that c9.1 does not. Just in time Bruce joins us to give an explanation of how the exception is. He gives Rick some suggestions on what to do to narrow down the culprit.
0:19 While Rick has to step away for an annoying door knock, Wolfgang asks a general question about a test he created using a long vs a decimal. Long story short, if you are in need of decimal places, then long is always the wrong choice - it has to be a decimal!
0:30 Mike Tabakin comes on and shares an issue he's having using UltimateSQL and stored procedures. We try several things, to no avail. Mike is given several options of addition debug things to try.
1:00 Rick comes back on to tells us he has found the culprit! It's a 3rd party tool he's using to calc/return "page of pages". He'll look in to replacing that with some code given the difficulty of communicating with that vendor.
1:02 Peter Puttock comes back to us after several needs and has a new issue with his app that communicates with Signotech.
February 24 2016
ClarionLiveOpenWebinar_2016-02-24.wmv
0:00 Bruce gives us an update on Friday night's cricket game he attended.
0:09 Craig Ransom is in attendance to show us what he intended to show during Friday's webinar, but wasn't able due to mic problems. PDF-XChange Editor is finally starting to work on the ability to create fillable PDFs! Craig gives us a tour.
0:28 Mike Tabakin has more questions about his interface to EZTexting with NetWebClient. He's trying to make use of pre-determined messages - when he hides the window, then the post doesn't actually happen and he's wondering why.
0:43 John wants to open up Script.It! to other languages, but he's having an issue. Add name and pascal attributes and remove the omitted parameters. Next he showed us some of the new features he's getting ready to release.
1:05 John Farmer wants to know how to trigger an update to the database from the RunTimeFileManager window - tag all, click info, or you can add a button. Conversely you can set it to immediately on start-up... FM3 Global extension, AutoUP tab, Options tab, Force Full upgrade on StartUP.
1:13 Mark Walgren wonders if Bruce can look at some gpf reports and give him an interpretation.
February 17 2016
ClarionLiveOpenWebinar_2016-02-17.wmv
0:00 Mike Springer wonders what everyone is using to update programs across the web? Bruce talked about the importance of using safe, protected files and servers. CapeSoft's SafeUpdate and SetupBuilder are the two key existing programs... see Oct 14, 2015 for the open webinar where Bruce helped John get SafeUpdate set up in ScriptIt!. Fred Shepard asks Bruce how you force everyone to actually do the updates.
0:16 Rick Dafler saves he's having issues saving from the IDE.
0:26 Fred is having an issue with StringTheory - st.count. Looks like he has the parameters wrong.
0:35 Fred also wants to know about CISDL. Easiest way is to use WinEvent's GetFolderPath. Fred is using SV's built in stuff and it's gpf'ing.
0:46 Greg Bailey is trying to add a widget with a graphic in it and he's gpf'ing. Good tutorial on how to get this working.
1:07 While we wait for compiling, Helgard Scholtz asks a question about when to use an Interface - ClarionLive Webinar 234 talks about GUTS a free CapeSoft tool.
1:13 Mike has a question on a string field containing a driver license's number - sometimes he wants all the data viewable and sometimes he wants to replace the first few characters with * and only display the last 4 characters. Need to create a new variable and make use of right() and all().
1:20 Piet Bouma has an question on WinEvent - please send a message to Bruce privately with an example.
1:21 Craig Ransom suggests some improvements for Greg's graph. Bruce suggests looking at Data Styles under Changing Properties in the InsightGraphing school example - allows you to change properties on the fly to see what options are.
February 10 2016
ClarionLiveOpenWebinar_2016-02-10.wmv
0:03 Rob Mikkelsen is getting an error 47 with an in-memory table - is it necessary to give it an actual file name? Lisa and others think so and have done this in the past.
0:10 Brian Roche reports back that he bought dbConvert and it worked great for him - great!
0:11 John wonders if anyone has installed the latest version of Clarion released last week. Mark Goldberg says yes he's using it with no issues so far. We talk a little about Mark's application.
0:21 Mike Tabakin is trying to use ezTexting with NetWebClient - not getting any errors, but it isn't working. Turns out he needed to put a new control instead of using the ok button - thanks to Rob!
0:36 Mark Goldberg is having an issue on some machines where typing for a locator does not work, but it works on others. He's not sure at this point whether its related to an OS or whether it happens on all browses - of course he can't reproduce on any of his machines.
0:41 John wonders what everyone uses for their help authoring system. Help and Manual, Dr Explain, plus the use of the Windows Snipping Tool.
0:46 Ron Meyer wants to know how to change Clarion to get rid of the compiler errors for a dll that doesn't exist... we recommend adding the file to libignorelist.xml under %appdata%\SoftVelocity\'your version'.
0:52 MarkG says John should never have tons of warnings in the compiler - so we start trying to figure out why he gets them and eliminating them!
1:00 Drew Bourrut asks why in an app you must have a prototype and a matching parameter list.
1:10 Discussion about automating the uploading of the webinars. :)
1:17 Dries tests his mic and talks a bit about his upcoming Friday webinar.
February 3 2016
ClarionLiveOpenWebinar_2016-02-03.wmv
0:00 Ron Meyer is prepping for Friday's webinar and he keeps getting unresolved external in the invoice app. Bruce gives a nice lesson in setting up things correctly for a multi-dll app.
0:33 Rob Mikkelsen wonders how he can pass a group structure of parameters between two procedures without that group being global to the whole app - solution use an in-memory table.
0:45 Dan Scott has a legacy question - he's getting a problem with sending 2 emails instead of just one when he tries to pull the SendEmail demo in to his program.
1:05 Louis Keyser is having a totaling problem.
1:16 Hans Vinckier looking for a way to replicate data between 2 backends when other non-Clarion programs are accessing that data as well. Bruce suggests he look at the NetTalk 9 Apps docs for disconnected databases.
1:21 Bill Rollins wants to know if there is a wizard to generate a NetTalk procedure/app. YES!
1:28 John shows us a peek at a new ScriptIt! feature.
January 27 2016
ClarionLiveOpenWebinar_2016-01-27.wmv
0:02 Bruce is back so David comes on to ask his question about FileExplorer.
0:10 Sheila is wondering about the pro/cons of queues vs In-Memory files, which becomes a discussion one of her programs getting dramatically slower and she's looking for way to improve... talked about T-SQL, StringTheory and Profiler.
0:42 Helgard Scholtz has question about using MultiProj to handle dates if he wants to support both TPS and SQL.
0:48 In response to Sheila's issue, Ron Meyer talks about his use of Append to quickly add records to TPS file over Add.
0:54 Next Ron asks about Version Control and what others do about all of the 'when' statements that come up as differences.
1:05? Mike Tabakin wonders what's the best practice for updating dbs. FM3 is still the bomb! Lisa clarifies previous discussions about her use of SQL scripts.
1:18 David Patterson asks about an example for use of Buffer in SQL Query.
1:25 Where can one find the NetTalk webinars? http://www.capesoft.com/accessories/NetTalkUserGroup.htm
January 20 2016
ClarionLiveOpenWebinar_2016-01-20.wmv
0:04 Rick Dafler needs some assistance debugging an issue with CopyFlash class that is no longer working. Turns out it isn't a class, but rather is all template generated code and Rick has added some code to that.
0:40 John briefly looks at Thin@'s new GUI Manager product www.thinetsolutions.com/demo-USA.php.
0:50 John shows us the new features in ScriptIt! New connection feature, look at old versions of scripts, added last modified date to display, search functions, open query in Mgt Studio, import/export all working, drag panes out and make larger.
1:03 Simon Kemp wonders is anyone knows the specifics about the rumors of SQL issues in the latest version of C10.
1:05 Francisco Duran asks if there is a way to add auto-complete to a combo box. Greg suggested he look at PDLookup.
1:13 Merle Winder wants to see a demo converting the invoice app to use the IP Driver. Ron Meyer uses it and gives a little background. Ron will be giving us a demo of converting an app on Feb 5th.
1:41 David Patterson wants to know how to trap a control key in Capesoft's FileExplorer... come back next week when Bruce is here.
January 13 2016
ClarionLiveOpenWebinar_2016-01-13.wmv
0:00 Lisa starts us off with a question on her email log and learns the appropriate way to pop up a window to change a few fields. And we learn a tip - CTRL+D within a window definition will take you in the window designer for that particular window.
0:24 Rob Mikkelson tells us he's just about done converting an old legacy app to ABC - something like 195 procedures. He'd like to have a future discussion on how to manage running 168 desktop apps - we look forward to it!
0:26 Lisa now wants to discuss an issue she's having trying to change an update form to ViewRecord based on the value of a certain field. Bruce helps her find out we have to do more than just set self.Request = ViewRecord. In the end she finds out that instead of changing self.Request in the update form, it's best to add the field as a hot field to her browse and then set GlobalRequest = ViewRecord before the update form is called.
0:42 Sheila has more on her previous issue of checking for duplicates with serial numbers in MsSQL. Bruce thinks she can use FM3. Dan suggests using a control file and putting a HOLD on the record and then incrementing it - but he admits he does this in TPS not SQL. Rob says he uses SEQUENCE with Oracle.
1:03 Peter wonders if Sheila should be using a critical section for this - Bruce explains why this doesn't apply.
1:04 Bob Wilhelm wants to talk about synchronization of the dictionary/app - he's got a test app and doesn't know why it isn't working. We all chime in that it just doesn't work in C10 - thinking perhaps it was last working in C6.3. Lisa remembers Greg Bailey talking about extensive testing he did to no avail and she thinks it was during one of our webinars last April on C10 IDE options/features.
1:18 Bob brings up a question about pool variables.
1:21 Mike Tabakin has a use file issue... Bruce suggests he try Access:Customer.UseFile(UseType:Returns).
January 6 2016
ClarionLiveOpenWebinar_2016-01-06.wmv
0:00 Craig Ransom has questions for Bruce about the use of CapeSoft's crypt32.dll under Windows 10. We attempt to debug the problem. Turns out Craig had the dll linked to his solution when it should have been the .lib - a template tweak was needed.
0:30 Lisa asks Craig about how compression in PDFs works.
0:38 Craig wonders if Clarion will ever natively support 64bit integers - Bruce says he's confident it will happen by some January in the 21st century. :)
0:43 Lisa has issue with some fields being written to her SQL backend as a 0 and some as a NULL. Rick Martin joins the discussion and Lisa gets some suggestions to look at for why the 2 different results.
1:02 Johns wants to talk about SMS - he's trying to use an api from eztexting.com.
December 30 2015
ClarionLiveOpenWebinar_2015-12-30.wmv
0:00 David Patterson is getting an exception error - how does he get the line numbers of the program to show up?
0:09 Peter wants to know if NT8 fixes will be carried thru to NT9? YES!
0:10 Olu is trying to create a dropdown list on a browse using EIP to add records but then wants this drop list to control the items that gets display on another droplist on the browse. So depending on what is selected in field A as my option, filters what is seen as options in field B.
0:28 Tony Tetley is looking to access to some chip readers and he's wondering how to store for each workstation to pair with a device.
0:51 Peter Puttock wants to know how easy it is to create a service from an exe.
0:56 What is the best 3rd party template for pop-up tips - ie tip of the day.
1:04 Victor wants to allow the user to turn on fonts and such on an RTF control on a window.
December 23 2015
ClarionLiveOpenWebinar_2015-12-23.wmv
If you watch this webinar, fill in here what happened!
December 16 2015
ClarionLiveOpenWebinar_2015-12-16.wmv
0:00 Mike Tabakin has questions about SuperTagging, and he's in luck because Mike Hanson is with us today!! Nice little lesson ensues.
0:35 Victor Gouge asks if there is a way to copy code from one process in an app to another. Mike give suggestions of looking at the app and txa (or module source code) at the same time. Lisa says she usually makes a copy of her app and then opens it in a 2nd instance of Clarion so that both can be opened and viewed from 2 side-by-side monitors. Or she also mentions the Clipboard Ring in the IDE Toolbox tab - that will allow you to easily save a whole bunch of 'copies' that can then be pasted wherever without as much going back and forth.
0:44 Rick Dafler is looking for suggestions of MS-SQL books. Mike suggests "SQL for Smarties: Advanced Programming for SQL" by Joe Celko. Lisa suggests things on her wishlist - SQL Cookbook by Anthony Molinaro and Securing SQL Server: Protecting Your Database from Attackers by Denny Cherry.
1:00 Lisa asks Mike if he looked at her questions on UltimateVLB - he has not, so we pull it up and make some revisions for her. He also revisits his issues with some of the demo browses in SuperBrowse that are displaying in all black.
1:20 Ron Myer is looking for assistance setting up users in TSPlus. No one around today but there is Clarion TSPlus skype group - Mike adds Ron to it. :)
December 9 2015
ClarionLiveOpenWebinar_2015-12-09.wmv
0:00 Dave Nichols has found Clarion's memory allocation lacking - so he's written some code using malloc to vastly increase memory allocation by 100 times! It's been running in his system for about a year now, so he's pretty confident in the code. He's been nice enough to release that code to the Clarion Community - originally posted on the Clarion 8 and Clarion 9 newsgroups... http://download.match-it.com/zd_alloc.clw. Bruce gives us a little background on one test he did using Dave's code.
December 2 2015
ClarionLiveOpenWebinar_2015-12-02.wmv
0:00 First Wednesday of the Month - time for general questions! Wolfgang asks about the use of Create for new controls on a window.
0:15 Peter Puttock asks about the proper syntax for Join when trying to create an ad-hoc link between 2 tables.
0:29 Craig Ransom wants to see an example of creating a Property Sheet with the heterogeneous column contents - like the Clarion IDE has in the window formatter. John pops in and asks why would you want to do it manually when Noyantis has a PropertyGrid control that makes it super easy!
0:37 Dan Scott wants to see Bruce programmatically create a screen full of string fields. His second question is what does Clarion do with the Mark property on a listbox. Peter chimes in that he is using the Mark attrib to determine which records will be printed.
0:48 Mike Tabakin is using CapeSoft Recent Lookup controls, and he wants to know if he can hide the dropdown icon, he only wants the lookup icon. Turn off AutoComplete.
0:52 Helgard Scholtz has developed some tools and is looking for some feedback on it. It's a class and template he created to allow for immediate editing of a record from a table - should work with any backend - file must have a unique key to allow editing. Secondary feature is to browse any table from the dictionary as well as see related records... looking to eventually start selling... temporary names - Edit On The Spot and Browse Any Table.
November 18 2015
ClarionLiveOpenWebinar_2015-11-18.wmv
0:00 John wants to add some things to his MessageBox window - a hyperlink and a checkbox - don't show this message again. We walk thru adding that functionality.
0:28 Marc Walgren has an ABC browse that he is calling in Select mode and doesn't know where the embed is. Look at TakeAlert.
0:31 Richard Johnson has a question about SubVersion in Clarion. No one around today actually uses what is built in to the IDE... Lisa and Marc talk about how they use SVN - Lisa refers him to Rick Martin's Version Control template - http://upperparksolutions.com/.
0:40 Rick Dafler gives up an update on his issues - turns out he solved the issue with looking at the window property AutoDisplay and removing all his handcode of Reseting... now all is well.
0:55 Lisa asks for some suggestions on what others use for SQLite database viewing; got suggestions of SQLite Export and SQLite Browser. Lisa follows up on her question about prototyping to interact with a PowerBasic program and gives a shout out to Jon Eskdale for all his help with getting this to work. Turns out you actually need to pass two params for each Clarion param - we set it to a 0. Bruce thinks it might have to do with expanding the stack that Clarion needs to look at - or perhaps it's passing the length variable and with it set to 0 you are telling Clarion you don't know the length.
1:05 Jon Eskdale says he's had issues with the menu not adjusting to the correct length - unfortunately he doesn't have that code in front of him. Bruce works on a sample, but it seems to be working for him - perhaps it's something that has been fixed in a later version of Clarion. If it's still a problem, bring it next time...
1:22 Lisa figures out it's not an issue with the data in her SQLite database, so it must be with the browse. We do some tests and figure out that a UNIQUE key must be specified on the Clarion browse (we set up additional sort order) in order for the browse to behave properly.
November 11 2015
ClarionLiveOpenWebinar_2015-11-11.wmv
Happy Veteran's Day!
0:00 Lisa needs help prototyping a Clarion function so that it can be called from another language. Look at AttachThreadToClarion().
0:15 Rick Dafler is having a problem with his browse not returning the correct record. Turns out he has some errant code. When all his embed code was commented out, then it behaved correctly.
0:45 Sheila Rasmussen is having issues with Clarion 9.1 Legacy encountering SQL disconnects - is there a way to trap these errors system wide. Try looking at busyhandling.
1:01 Sheila has another issue with getting duplicates. Rick has a template from Jeff ? that checks for duplicate identities that he will send her.
1:10 Lew Strock asks about creating a service.
1:10 Brian asks for recommendations of moving from a PostgreSQL database to MS-SQL. John finds convertDB.com.
November 4 2015
ClarionLiveOpenWebinar_2015-11-04.wmv
0:00 Mike Springer has more questions about browse filtering in regards to child browses. Bruce shows him how to make use of the browse reset fields.
0:12 Marc Walgren wants to pass a method in to a class in order to switch between testing and release modes - ie, instead of popping up messages, write them out to a log or debug.
0:20 David Patterson wants Clarion to generate an app, then runs a program and then compiles and run the app.
0:28 Mike Tabakin is getting an invalid date format when he tries to use a locator on a date/time field on a SQL backend - string fields work fine, just the date column gives an error. Greg Bailey suggests trying to enter the entire date and use an entry locator to search for the complete date, or if you may want to create a calculated string value in the backend that represents the date like your users are actually seeing it - SQL is going to see the date as a number of days since some given date, not as a formatted date. Marc Walgreen suggests he might want to set the time part as 1 instead of 0.
0:41 Peter Puttock has an new problems with his dll interface task from Oct 21.
October 28 2015
ClarionLiveOpenWebinar_2015-10-28.wmv
0:00 A little discussion about the new Clarion 10 release - it breaks ScriptManager - something with the resize class perhaps?
0:06 Mike Springer wants to know about using the browse filter via template versus ValidateRecord embed. Bruce covers this and explains why to use the template for simple filters, but to handle more complex stuff in ValidateRecord - if the backend can't evaluate ANY part of your filter, then the whole file will get returned to be evaluated on the client side.
0:33 Dan Scott is getting map errors in his dlls after updating some CapeSoft products. Bruce finally figures out he has an old SendTo.clw in the solution items that needs to be deleted.
0:55 Mike Tabakin has not had any success using the Event:ScrollTop to move his highlight bar in the browse (from Oct 7th).
1:05 Bruce randomly opens Linda's mic to ask her if she has any questions; subsequently Bruce shows how to create a standalone function in a .clw, link it in to the solution items and add to the global map of the app he wants to use it in.
October 21 2015
ClarionLiveOpenWebinar_2015-10-21.wmv
Happy Back to the Future Day!
0:00 Brian Roche wants to know how to get the length in minutes of a video file.
0:09 Peter Puttock is tasked with pulling a signature (jpeg) from a device and he has a 3rd party dll to use. Bruce shows us how to start from scratch reading the docs, setting up a Clarion lib file and creating a demo app. EXCELLENT tutorial - plus we saw it successfully connect with Peter's device!
October 14 2015
ClarionLiveOpenWebinar_2015-10-14.wmv
0:00 Rick Dafler needs help figuring out why he can't compile an app after upgrading CapeSoft's SendTo.
0:19 John solicits Bruce's help to get CapeSoft's SafeUpdate working with his Script Manager project - he stalled out on the certificate stuff.
1:07 Bruce takes a minute to talk about CIDC 2015 training recordings and a new build of the website probably going up tomorrow.
1:10 David Patterson is looking for a date picker template that has this week, last week, etc. CapeSoft's HotDates or Boxsoft SuperStuff are suggested.
1:14 Robert Kolanko and Bruce discuss how using ftp for corporate customers is getting more difficult and may prompt a need to move toward web services.
1:21 Dan Scott complains that Event:Select embed is no longer firing for him. Bruce shows him how to use StringTheory to check to see if the Accept event is firing at all... or you can use UltimateDebug in conjunction with DebugView++.
October 7 2015
ClarionLiveOpenWebinar_2015-10-07.wmv
0:00 Chatter about CIDC 2015 and Rugby World Cup
0:10 First Wednesday general questions - Warren Wooley asks for an explanation of the .red file.
0:48 Mike Tabakin is wondering how he can move the highlight bar to the top of the browse after resorting - post an event to Event:ScrollTop on the browse.
1:00 We ended early today.
September 16 2015
ClarionLiveOpenWebinar_2015-09-16.wmv
0:00 NetTalk 9 alpha release day!
0:08 Mike Tabakin has an error message from his program running on Windows 10 and wonders if anyone else has seen it... wwmtpdbc32.dll.
0:20 Mike Gorman demonstrates a problem he's having with related to using the record filter with a browse.
0:47 Victor wants to know if there are examples of creating php or html code with Clarion.
0:52 Paul Konyk is trying to get access to CapeSoft MessageBox thread specific window in a NetTalk app.
1:05 John needs some help with an error in Script Manager.
September 9 2015
ClarionLiveOpenWebinar_2015-09-09.wmv
0:00 Marc Walgreen has a question about the proper way to set the order of compiling so that exes compile last.
0:05 Merle Winder wants to know how to set page loaded vs file loaded. Turns out you cannot set that in legacy, so the talk turns to his real issue which is that his app works great until more than 1 person logs on at which point it slows way down. Talk about things to look at and a lot of discussion about the IP driver.
0:41 Olu Orukotan wants to know how to make PostgreSQL case insensitive. Gordon says use citext type as the column type instead of text type.
0:44 David Patterson is looking for a generic way to use a dropdown in EIP browses.
1:00 John gives us a preview of his upcoming Script Manager.
September 2 2015
ClarionLiveOpenWebinar_2015-09-02.wmv
0:00 Arnold wants to know about using Touched. Greg Bailey and Bruce explain how Prop:Touch works.
0:30 Bill Rollins wants to know if he can take 5 exes and have them display in a single MDI window? Discussion ensues on his possible options.
0:50 Lisa is looking to have a tree in a flat file and wonders what she's doing wrong. Mike and Bruce set her straight on the best way to accomplish what she wants and we even put in tooltips!
August 26 2015
ClarionLiveOpenWebinar_2015-08-26.wmv

August 19 2015
ClarionLiveOpenWebinar_2015-08-19.wmv
0:00 - Bill Rollins wants to know if it's necessary to put any of the Clarion paths in the path statement of your environment variables. Short answer - NO!
0:06 - Joe wonders for his query writer, is it possible to use an ANY type in a query so that he can prevent the need for 2 columns (one string, one numeric) for each. John suggests he creates the listbox on the fly instead of using a pre-defined listbox... perhaps he needs the VLB class!
0:32 - Brian Roche is annoyed that in his dictionary new options are always defaulting to pre-defined... is there a way to change to default to something else like string? No but you can add things to this list that you might frequently use by creating your own .dctopt file under %AppData%\Roaming\SoftVelocity\Clarion\9.0\DictionaryOptions - copy the file to each version of Clarion you want to use. Spawns discussion about NOT using auto-number any more!
0:48 - Juha Olsonen asks about using Clarion to send/receive SMS. Mike Hanson is presenting a session on this at CIDC 2015!
0:53 - Bruce helps John configure GPFReporter into a Clarion 10 app that is producing compiler errors. Turns out that GPFReporter actually uses the multi-dll settings from Hyperactive, so John needed to add GPFReporter to his data dll and set the multi-dll flags accordingly.
1:10 - Lew Strock wants to know if anyone has had success with the SV window behavior option 'Only One Instance of the Procedure Allowed' working across multi-dlls. No Joe confirms that it doesn't and he reported long ago - please report as bug again!
1:23 - Merle Winder thinks he's having issues with security/access on user networks because of location of ini files... NEVER use the windows directory... use either the program directory or even the user's directory - CSIDL directory. Global|Actions|Ini File Options. UAC is probably slowing him down.
August 12 2015
ClarionLiveOpenWebinar_2015-08-12.wmv
0:00 - Bill Rollins wonders how people like SQLite. Bruce gives his two cents.
0:15 - John gives us an overview of ScriptMgr and announces his plans to wrap it in to a commercial product released at CIDC!
0:31 - Gordon shows us a web calendar widget he's incorporated - Ext Scheduler from www.bryntum.com.
0:43 - Mike Tabakin shows us an app he's added CapeSoft Dashboard to. Leads to a discussion on icons.
1:00 - Joe Tailleur demos 'his' dashboard with a query writer.
1:12 - More ScriptMgr...
1:15 - Ron Meyer wonders how do you control issues with customers having different screen resolutions, large fonts, maximize windows, etc.
August 5 2015
ClarionLiveOpenWebinar_2015-08-05.wmv
0:00 - Question from Jeff Hojka, "What is the proper way to use a non threaded global in a threaded application" leads to a discussion on Critical Sections and how to use them
0:44 - Question from Rick Dafler concerning why in SQL, not all fields are being passed to a form
July 29 2015
ClarionLiveOpenWebinar_2015-07-29.wmv
0:00 David Patterson is looking for assistance in trying to call UltimateDB.InsertSQL. Turns out you can't call that directly so John creates a new method UltimateSQL.CreateInsertString, then zips up the new clw and inc files and we use the "handouts' features of gotowebinar to distribute the new UltimateSQL to anyone who wants it! YAY!
0:15 Bruce helps Dan Scott with StringTheory.FindBetween and After functions to strip out the unwanted text in the beginning of a file he needs to process.
0:55 Merle is continuing his quest to convert to MSSQL - MEMO fields can't be changed to cstrings until you've changed the driver to MSSQL because of TPS size limitations.
1:05 We look at John's ScriptMgr and the compile errors he gets when adding GPFReporter to it. Oops don't comment out stuff in other people's map files! :)
1:20 David is trying to use ResizeAndSplit with Noyantis DockingPanes - send Bruce an email with an example to show the clash.
July 22 2015
ClarionLiveOpenWebinar_2015-07-22.wmv
0:00 John has converted to c10, but now his app blows up on running. Bruce suspects that he has an old dll that's being linked in; he and Rick Martin guide him towards finding the offending dll. John was almost done linking in all his dlls in to a stub dll and it runs fine. The problem he's run in to is the same one Lisa had converting to c9 where the linker is too smart and doesn't actually link in things that aren't being called. So now he needs to make a call that will actually link in the dlls to narrow it down.
0:28 Dan Scott has questions for Bruce on jFiles. www.jsonlint.com great website to bring in a JSON file to read and validate format.
1:07 Merle Winder is having issues converting an app from TPS to MSSQL. One issue is he needs to remove dynamic indexes. Consensus, move your entire dictionary to MSSQL, but make as many changes as possible to get it 'SQL friendly" while still in TPS; then change the driver to MSSQL.
1:30 Back to John's dilemma.
2:12 Mike Springer wants to know what's the best replacement for a 30,000 record drop combo - hmmm... not sure, maybe we'll look at that next week.
UPDATE! After the open webinar, the cause of the crashing in John's app was found! It was in a class that had a Member statement referring to the base app .clw.
July 15 2015
ClarionLiveOpenWebinar_2015-07-15.wmv
0:00 David Patterson is trying to convert from c8 to c10 and having some issues with the Noyantis stuff not working correctly in the c10 version. Since he is also jumping Noyantis versions as well, Joe recommended that he get the current version of Noyantis templates working in c10. John told him he could copy over the nys templates from his c8 directory to c10 and use the same versions of the templates that are already working for him to take that out of the equation. Bruce stresses to everyone, always do ONE task at a time - don't try to convert your app to c10 and upgrade templates or make changes to add resizing to windows, jump to SQL, etc - FOCUS ON ONE THING AT A TIME!
0:15 Mike Tabakin having an issue when compiling in DLL mode vs LIB mode. When in LIB mode the window shows, in DLL mode, it doesn't. Suggestion to look at the name of the EXE to name sure it doesn't interfere with anything else... Trojan name?
0:25 John is uploading a csv to a website and he needs it to be in UTF-8 format. StringTheory has a method called ToUnicode.
0:30 Fred Charlet has a question about converting to Postgres when arrays are concerned. Suggestion to create a string and then put an array OVER the string. Or use child file instead.
0:45 Mike Tabakin is pinging a computer and wants to display a progress bar to show that's happening. Unfortunately that's not available. Ping is asynchronous and no UI happens while that function is working - "blocking call". Bruce explains blocking versus non-blocking calls. Ping doesn't respond within say 2 seconds it isn't going to.
1:00 Dan Scott wants to know more about Priorities. Bruce explains it controls the order in which code is generated.
1:15 Merle is looking for some docs on the steps on installing his app on a customer computer once he's converted it to MSSQL.
July 8 2015
ClarionLiveOpenWebinar_2015-07-08.wmv
0:00 Richard wants to how to find the best place to add code to an embed point for a template. Bruce shows us how to fill in some unique message in one of the template options. Then look at that generated code to find an embed point near the use of that template option.
0:16 John needs help with a compile error.
0:40 David Patterson is trying to debug a Noyantis template - one that works with his ABC code, but not with his Legacy code, so he's trying to fix it. Bruce gives an overview of how the job of the template generator is to spit out text, not code, text.
July 1 2015
ClarionLiveOpenWebinar_2015-07-01.wmv
0:05 Bruce talks about MODULES. Various ways for grouping procedures in modules. Example of doing CLEAN build. Repopulate Modules. Tips to time find compile errors in a module.
Mark Goldberg's Template on GitHub:
https://github.com/MarkGoldberg/ClarionCommunity/blob/master/CW/Templates/GenTXA.tpl
0:32 Using START. If before the parent has finished (inside the init), then use post(event...). Can use RESUME on procedures with no windows (ie, no accept loops).
0:51 Client-side triggers. Rick Dafler has a problem resetting previous buffer.
1:22 Sometimes generate and run doesn't create a lib. Review of the redirection file. Bruce suggests directing those to app folder.
Discussion of compile messages... Template .inc files include !ABCIncludeFile tells the compiler to include all the ABC classes in to your app regardless of whether you use them or not.
1:36 Proper location for including the statement 'Include('cwutil.inc'),once' to avoid errors during compile -> Inside the Global Map.
June 24 2015
ClarionLiveOpenWebinar_2015-06-24.wmv
0:00 David Patterson asks about using RegFree Com with C10. John shows him where to turn it on when using with the Noyantis templates. And also in the Clarion global actions. Refers him to the previous webinar we did on RegFree Com. Next he asks for a quick demo on the Noyantis ReportControl data binding. John posted his databinding demo app in the ClarionLive knowledgebase
http://clarionlive.wikispaces.com/Data+Bind+Example+Using+DataBind+Class.
0:33 Bruce shows Dan Scott a very simple example on returning multiple items from a procedure.
0:39 Mike Tabakin has more questions for Bruce on implementing iDash in his program.
0:45 Marc Walgren needs to think outside the box for ideas on how to do license validation. Bruce gives him some ideas they've used.
0:53 Mike Valente has issues with the highlighted record losing focus in a browse after performing various functions on the table. What is the correct 'Reset' to use?
1:19 Victor Gouge wants to know how to filter a browse based on 2 columns. Bruce also discusses how 'Hot Fields' should really be thought of as 'View Fields' - fields to add to my view. And yes this can be user-driven by using QBE.
1:26 Dan is trying to add an ascii file to a local procedure, but he's getting a compile error that LOC:Filename needs to be global. If it's just going to be locally used, then he needs to define the local variable as STATIC, THREAD.
1:29 We get in to discussions about ChargeIt Pro and other payment processors and passing params to dlls vs exes to close security holes.
June 17 2015
ClarionLiveOpenWebinar_2015-06-17.wmv
0:00 Mike Tabakin has questions about using CapeSoft's iDashboard.
0:3? Does UltimateSQL work with MySQL.
John shows John Farmer an example of code using UltimateSQL to call an MSSQL stored procedure.
John shows us how to download and install the UltimateTools and verifies they have an option for C10 and discovers a file is missing for UltimateSQL. A new installer has now been posted!
1:00 Mike Valente continues the drama of his browse locator string - turns out HandyTools has it's own locator override!
June 10 2015
ClarionLiveOpenWebinar_2015-06-10.mp4
0:12 Bill Rollins has compile errors converting his app from C6.3 to C9. Since they are PDF Tracker errors, we bring Craig Ransom on the line. Craig tells him it's he needs to convert to version 4 of the template and goes over the steps for that.
0:26 Mike Valente has issues with incremental locators not working as he wants them to. Bruce suggests that's because they are numbers and not fixed length; he suggests changing to a string... maybe even playing with a picture format.
0:39 Andy Morgan has an app that scans text files. If he runs from within the IDE it takes about 25 secs. If he runs exe as normal UAC, it can take up to 8 minutes. If he runs exe as admin, then its back to about 25 secs. Bruce suggested he narrow down what part of the process was actually taking so long, he doesn't know why cryptonite would be affected by UAC.
0:47 Ron Meyer is getting duplicate symbol errors and he doesn't understand why. In this case it was a new EXE app that he was adding to a multi-dll app and under the global properties he needed to tick on - Generate global template data as EXTERNAL.
0:54 John Farmer wants to know the best approach to replace template A with template B where there is no bridge between them. In this case he wants to replace ABCFree Lookups with CapeSoft RecentLookups. Unfortunately no good/easy solution. Add the RecentLookups global template and start replacing on each browse individually.
0:57 Merle Winder is looking for guidance with the CapeSoft FM3MSSQL demo logging in to MSSQL 2014 Express. He needed to initially create a database in Mgt Studio.
1:09 Mike has been unsuccessful, so we go to his screen to see his code... more discussion ensues on his incremental locator dilemma.
June 3 2015
ClarionLiveOpenWebinar_2015-06-03.wmv
0:00 Merle has a question about Dictionary synchronizer and moving to SQL
0:27 Bruce explains variables ---> classes ----> FileManager. This is really good, a must-see!
May 27 2015
ClarionLiveOpenWebinar_2015-05-27.wmv
0:00 Looking at compile errors Brian Roche has with a C9 app. Deleting references to libraries in the solutions pad and the Conditional Compile Symbols of the Project options.
0:15 Bill Rollins has %ListQueue errors after updating to the latest version of ClarionTools 10. Bruce comes online and gives us a lesson on how to track down template errors. While we don't get Bill's problem fixed, we do learn a lot and leave him with some options to continue searching for the problem. Hopefully he comes back next week to report on his success!
May 20 2015
ClarionLiveOpenWebinar_2015-05-20.wmv

May 13 2015
ClarionLiveOpenWebinar_2015-05-13.wmv

May 6 2015
ClarionLiveOpenWebinar_2015-05-06.wmv
00:01 Question about Equates, how/why to use them and how to manage them
00:48 Question about passing queues as parameters in a procedure
00:57 Question about what "Thread Safe" really means
01:14 Question: In the dictionary what is the difference between a Row key, Runtime Index, Static Index and Order and the advantages/disadvantages of each.
01:20 Question about using global variables in the dictionary
01:32 Question about using Evaluate
April 29 2015
ClarionLiveOpenWebinar_2015-04-29.wmv
0:00 Rick Dafler gets some ideas on what to look at for his Clarion app that is abnormally ends upon exiting only on his sandbox (virtual machine).
0:14 Greg Bailey writes a template to make use of a new feature in C10 to turn off the assert error that happens when not "properly" closing a file using the ABC method - only happens when running in debug mode - DoNotAssertOnCloseMisuse.
0:53 Can I line up multiple value fields one a single line in a NetWebForm.
0:57 Helping Craig work out his issues trying to run the Clarion debugger on a Win 8 64bit machine.
1:11 Discussing Sheila's issues with creation of an InMemory table from an MsSql table upon program startup after an upgrade - problem only occurs on 32bit machines, works fine on 64bit machines. Issue may be with using 'Select all' as opposed to specifying field names.
1:24 Question about converting a Topspeed Memo field to an MSSQL Blob field. Since they are text Memos - suggested he use VarChars instead of Blobs.
April 22 2015
ClarionLiveOpenWebinar_2015-04-22.wmv

April 15 2015
ClarionLiveOpenWebinar_2015-04-15.wmv
0:00 Clarion built-in PDF Tools issue with large fonts - Icetips website has resolution from 2009 to modify the class.
0:30 Working with problem Flint was having with GetTimeZoneInformation API
Lastly some discussion on SQL Full Text Search
April 8 2015
ClarionLiveOpenWebinar_2015-04-08.wmv
0:05 INSTANCE
0:10 UltimateDebug - new install for Clarion 10!
0:13 Discussion on SQL best practices - FM3, scripting, etc.
0:28 ScriptManager
0:30 UltimateUtilities
0:40 Discussion on benefits of going to SQL
1:03 Speech to text in Clarion
April 1 2015
ClarionLiveOpenWebinar_2015-04-01.wmv

March 25 2015
ClarionLiveOpenWebinar_2015-03-25.wmv

March 11 2015
ClarionLiveOpenWebinar_2015-03-11.wmv
Discussion on the RUN command and CHAIN.
March 4 2015
ClarionLiveOpenWebinar_2015-03-04.wmv
0:12 Ron Meyer asks about new Clarion 10 features
0:25 Graham Dawson shows new E-Mail in Clarion 10 (SSL)
0:30 Discussion of Amazon S3 and Clarion 10
0:45 Discussion on having your end-users subscribe to your software
1:05 Wolfgang shows the fourth way to give your Class access to the same Dictionary using different Apps
1:15 Debugging Wolfgang's app, including discussion of SaveFile and RestoreFile
1:45 Used the Debugger and it worked!
1:55 Good discussion on opening/closing files
February 25 2015
ClarionLiveOpenWebinar_2015-02-25.wmv
Discussion on accessing your dictionary tables in a class using Member('YourApp.clw'), accessing USB ports/Serial ports
February 18 2015
ClarionLiveOpenWebinar_2015-02-18.wmv
Discussion about multi-proj and converting from single exe to multi dll
February 11 2015
ClarionLiveOpenWebinar_2015-02-11.wmv
Mike on VLB project, some chat about script manager
February 4 2015
ClarionLiveOpenWebinar_2015-02-04.wmv

January 28 2015
ClarionLiveOpenWebinar_2015-01-28.wmv

January 21 2015
ClarionLiveOpenWebinar_2015-01-21.wmv
Playing with Queues and code analysis.
January 14 2015
ClarionLiveOpenWebinar_2015-01-14.wmv
Bruce demonstrates how to use multiple toolbars on an appframe!
January 7 2015
ClarionLiveOpenWebinar_2015-01-07.wmv
John talked about a new way of searching lists in Clarion, specifically using the Codejock ReportControl and databinding to do a "wide" search across all columns.
December 17 2014
ClarionLiveOpenWebinar_2014-12-17.wmv

December 10 2014
ClarionLiveOpenWebinar_2014-12-10.wmv
Joe Tailleur introduces a new template that allows you to search across columns in a list box!
December 3 2014
ClarionLiveOpenWebinar_2014-12-03.wmv
Spent time working on Script Manager, specifically the UI and implementing Resize and Split.
November 26 2014
ClarionLiveOpenWebinar_2014-11-26.wmv
Good discussion on PostGres, a little bit more discussion on Script Manager
November 19 2014
ClarionLiveOpenWebinar_2014-11-19.wmv
This week we worked on Script Manager, which lets you manage your SQL scripts (views, stored procedures, functions) from within your Clarion program. We got it working on Lisa's computer! Well mostly, it didn't quite work at the end, but after the webinar Lisa debugged it and it's working well for her now! We'll show some more of this next webinar as time allows.
November 12 2014
ClarionLiveOpenWebinar_2014-11-12.wmv

November 5 2014
ClarionLiveOpenWebinar_2014-11-05.wmv

October 29 2014
ClarionLiveOpenWebinar_2014-10-29.wmv

October 22 2014
ClarionLiveOpenWebinar_2014-10-22.wmv
Joe Tailleur demonstrates how to cancel an SQL query that may be taking too long. Marius Nel shows us his app and asks for help in improving its design. Bruce Johnson, Greg Bailey, Joe Tailleur and Arnold Young off their opinions on app design.
October 15 2014
ClarionLiveOpenWebinar_2014-10-15.wmv

October 8 2014
ClarionLiveOpenWebinar_2014-10-08.wmv
A discussion about classes with Mike and Bruce, a short demo about using databinding with the Codejock Report Control, and we did some work on the Ultimate Address Formatter class!
October 1 2014
ClarionLiveOpenWebinar_2014-10-01.wmv
Someone please update this description after you've watched it :)
September 24 2014
ClarionLiveOpenWebinar_2014-09-24.wmv
Discussed possible DevCon in 2015. Using FM3, DMC and other tools to convert data. App doesn’t open window on a specific Windows 8 machine while it does on others. Discuss Dependency Walker & Debug View. Add, Hide, Unhide, Sort columns in a browse – SuperBrowse, RunScreen and native Clarion “List Format Manager”. Loading IMDD table using contents of filtered browse.
September 17 2014
ClarionLiveOpenWebinar_2014-09-17.wmv
Lisa D has a C9.1 app that works sometimes and sometimes not, using a 3rd party document merge tool. It works in C9.0. Group suggested updating to C9.1-11220 or greater. Discussed how different developers manage multiple versions of Clarion, i.e., same or separate folders, etc. Demonstrated using CONST preceding a “by-address” prototype variable to prevent variable update.
September 10 2014
ClarionLiveOpenWebinar_2014-09-10.wmv
RegFree COM in Clarion 9.1. C8, FM3, Windows 8 app doesn’t open startup window. IPServer on Windows 8 startup error.
September 3 2014
ClarionLiveOpenWebinar_2014-09-03.wmv
Rick Martin does a follow-up to his excellent CAT on version control! If you're getting in to version control, this is a must-see!
August 27 2014
ClarionLiveOpenWebinar_2014-08-27.wmv
Lisa gets some help with saving an .ini file in the proper place. Mike Tabakin has a question about "Label Duplicated" warnings. Work continues on the example app showing how to pass information between apps on a network.
August 20 2014
ClarionLiveOpenWebinar_2014-08-20.wmv
Someone please update this description after you've watched it :)
August 13 2014
ClarionLiveOpenWebinar_2014-08-13.wmv
Someone please update this description after you've watched it :)
August 6 2014
ClarionLiveOpenWebinar_2014-08-06.wmv
At the end of Friday's webinar, John showed how he had made a "PlaceHolder" control, where text is shown in a light gray color inside an entry control, disappears when text is typed into it, and then reappears when the entry control is blank. During the open webinar we created a demo app, showed how the effect was created, then built a class that implements the technique. Click Here to download the app/class.
July 23 2014
ClarionLiveOpenWebinar_2014-07-23.wmv
Lisa wanted to change how the Connection window looks in UltimateSQL, so we showed how to do that!
July 16 2014
ClarionLiveOpenWebinar_2014-07-16.wmv
Lisa's app problem gets solved, new switches in C9 for browse settings are explored.
July 9 2014
ClarionLiveOpenWebinar_2014-07-09.wmv
[[/Joe+Tailleur|Joe Tailleur]] needed help converting a local procedure Class into a separate Class (inc and clw) that he could use anywhere. [[/Bruce+Johnso|Bruce Johnson]] showed him how to do it, step by step! Click here to download the completed class. This is used to keep columns in a list box properly resized when resizing the entire window. Also, Lisa has a problem running an app that we try to solve.
July 2 2014
ClarionLiveOpenWebinar_2014-07-02.wmv
Lisa has an app that won't run.
June 25 2014
ClarionLiveOpenWebinar_2014-06-25.wmv
Joe Tailleur demonstrates a memory problem in C9.1 PE edition, Bruce and Mike help John with an xFiles app (here is the sample code), and Mike solves a compiler anomaly.
June 18 2014
ClarionLiveOpenWebinar_2014-06-18a.wmv
ClarionLiveOpenWebinar_2014-06-18b.wmv
Rick Martin shows Dependency Walker. It's in two parts, watch both parts!
June 11 2014
ClarionLiveOpenWebinar_2014-06-11.wmv
Mike and Bruce helped John with setting the default Icon in an app, plus helping to develop a Metro Buttons class!
June 4 2014
ClarionLiveOpenWebinar_2014-06-04.wmv
Talked about a lot of Clarion stuff! Change this description after you've watched it and make it more helpful :)
May 28 2014
ClarionLiveOpenWebinar_2014-05-28.wmv
Gordon Holfelder shows us how he uses extJS with NetTalk. Hint: it's awesome!
May 21 2014
ClarionLiveOpenWebinar_2014-05-21.wmv
Discussion on the new UltimateDebug class and template version 1.08, as refactored and added to by Roberto Artigas (with contributions by Mark Goldberg)
May 14 2014
ClarionLiveOpenWebinar_2014-05-14.wmv
Discussion on a bug using PUT and PROP:SQL, plus short demo on using UltimateSQL
May 7 2014
ClarionLiveOpenWebinar_2014-05-07.wmv
Clarion things were discussed! If you watch this webinar, update this entry with what really happened!
April 30 2014
ClarionLiveOpenWebinar_2014-04-09.wmv
Discussions on Version Control
April 16 2014
ClarionLiveOpenWebinar_2014-04-09.wmv
Clarion things were discussed! If you watch this webinar, update this entry with what really happened!
April 9 2014
ClarionLiveOpenWebinar_2014-04-09.wmv
Clarion things were discussed! If you watch this webinar, update this entry with what really happened!
April 2 2014
ClarionLiveOpenWebinar_2014-04-02.wmv
Wolfgang presented us with a task to write a template to generate code to create a GUID. Mike Hanson rose to the challenge and we ended up with a terrific tutorial on how to create a template then re-factor it to it's simplest form! Highly recommended viewing!
March 26 2014
ClarionLiveOpenWebinar_2014-03-26.wmv
Robert Zaunere and Diego Borojovich gave us a nice tutorial on how to use the Clarion xml class!
March 19 2014
ClarionLiveOpenWebinar_2014-03-19.wmv
We were able to help several developers with some issues they were having, and then we talked about the new NetTalk web services!
March 12 2014
ClarionLiveOpenWebinar_2014-03-12.wmv
Mark Goldberg showed us how to add shortcuts to the IDE, and we finished up the UltimateNotify Class and Templates!
March 5 2014
ClarionLiveOpenWebinar_2014-03-05.wmv
Mark Goldberg showed DebugView++ and had a compile error we worked on, then Lisa had a compile error, and so it went!
February 26 2014
ClarionLiveOpenWebinar_2014-02-26.wmv
We talked about Interfaces quite a bit, then reviewed a new way to handle Notify with a class.
February 19 2014
ClarionLiveOpenWebinar_2014-02-19.wmv
A quite thorough discussion of Version Control using SmartGit! We went through several test cases, including branching and merging!
February 12 2014
ClarionLiveOpenWebinar_2014-02-12.wmv
Neat stuff as usual!
February 5 2014
ClarionLiveOpenWebinar_2014-02-05.wmv
SV's Bob Zaunere and Diego joined us for a lively discussion about Time and the Clarion RED file!
January 29 2014
ClarionLiveOpenWebinar_2014-01-29.wmv
Bob Zaunere gave us an update on the status of C9.1, and we talked a bit about Setupbuilder (tips!)
January 22 2014
ClarionLiveOpenWebinar_2014-01-22.wmv
We talked about the problem with being able to dock pads when using secondary monitors, using the general tab to save frequently used code, Clarion 9.1 scrolling issues (this is in pre-release), and using Devexpress in Clarion (creating Dashboards).
January 15 2014
ClarionLiveOpenWebinar_2014-01-15.wmv
Bob and Diego discussed the pre-release of Clarion 9.1. John showed a new class he is working on that stores xml in a field in a SQL database. There was quite a lively discussion about it!
January 8 2014
ClarionLiveOpenWebinar_2014-01-08.wmv
Bob Zaunere and Diego from SV talked about the new features in Clarion 9.1, including Touch and regfree COM. Later, John and Rick Martin talked about managing SQL scripts.

BobZ on C9.1
  • RegFree COM update, to allow it to check the maniest FIRST
  • reminding us of Initial support for 64 Bit Integers
  • support for routines in dictionary triggers
  • some new methods to resize class (start and finish)
  • some new JSON support
  • Bunch of new files for custom handling of Touch Support
  • new installer will no longer default to ProgramFiles
  • Installer option /ConfigDir under the IDE vs. under %AppData%
  • When Install a new version of the IDE, the previous settings (will be / can be) copied forward
After asking if this feature would be added to ResetIDE
It was clarified, that the new install was going to SHARE the settings
Presumably with a /ConfigDir=%Appdata%\SoftVelocity\Clarion\9.0 setting





comments powered by Disqus


  • /goindeep