tsNet - load HTTPS from server with self-signed certificate?

2024-09-12 Thread Ben Rubinstein via use-livecode
Attempting to load a URL over https, from a server with a self-signed 
certificate. The error is:


 tsneterr: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - The certificate 
chain was issued by an authority that is not trusted.



This is a server we manage. If you accessed it in a browser, you'd get a 
warning explaining the issue, and have the choice to say I understand, get it 
anyway. Is there a way in tsNet to tell it to accept this certificate 
(otherwise we have to load it over http, which is even less secure!)?\


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Issues with (64bit?) Windows MySQL driver

2024-08-16 Thread Ben Rubinstein via use-livecode
I have a tool (a LiveCode standalone) running on Windows, which every night 
drops and recreates a database on a remote MySQL server, (about 350MB, 50 
tables). Running for many years.


About a year ago, we started to see a problem where sometimes the nightly 
build would fail, part-way through the process. The routine involves creating 
and populating tables, then creating indexes. Depending when the problem hits, 
the initial error is either


Connection was killed
or
Lost connection to MySQL server during query

All subsequent calls to revdb_execute get the error

MySQL server has gone away

I tried splitting the build into sections, so that the code opens the 
connection to a database builds some of the tables, then closes the 
connection, and opens a new connection to add more tables. There was no 
evidence that this made the issue occur less frequently; and once it hit, 
subsequent attempts to open a connection would get the error


Can't connect to MySQL server on '' (0)


When this was happening maybe a couple of times per month (on average) it 
didn't matter too much (the system is designed to be resilient, if the data 
wasn't refreshed one day, it would be the next). I thought it might be network 
glitches.


Recently IT tightened security on the machine where the tool runs; and since 
then we get this problem nine times of out ten. They say the only change made 
was to remove the admin privileges of the user account, and have now reversed 
that change; however, this problem has remained since. Another problem that 
arrived at the same time, reported here as "a windows weirdness", seems (per 
Paul Dupuis and Mark Waddingham) to be related to UNC paths, and possibly to 
security policies.


Does anyone have a suggestion for how conditions could affect this? Is there 
any way to get more detailed information out of the rev database driver about 
what's happening?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


A Windows weirdness

2024-08-13 Thread Ben Rubinstein via use-livecode
An app running nightly by schedule on a Windows VM stopped working when the IT 
department cracked down on security, downgrading the privileges of the user. 
When this was reversed - and they swore there were no other changes - it still 
didn't work properly because it failed to read some local data files.


It turned out that the issue was that I was reading the data as
put URL format("binfile://%s", tPath) into tData

this was working, but now returned "can't open file". Changing the statement to
put URL format("binfile:%s", tPath) into tData

fixed the issue, so it's fine. But my question would be does anyone know what 
would have changed on the system to make this statement, that used to work, do 
so no longer?


Many thanks,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Late arrival to LiveCode Future (and possibly early leaver!)

2024-08-02 Thread Ben Rubinstein via use-livecode

I've been away, in various senses, and only just read about all this.

I have enormous respect for Kevin and LiveCode.

I've been using the product since it was Metacard, and Revolution (as it was 
then) was an enormous upgrade. The first bug I reported in the quality control 
centre was over 20 years ago (was there another system before then? I don't 
recall anymore). (And indeed the 64th report I made, marked as CONFIRMED but 
still not actioned, that I'd still like, was reported over 20 years ago... 🤨).


I've used it to make tools for myself, a lot; tools for my colleagues a bit; 
tools for clients a bit. Mostly now it's tools for myself, which very rarely 
get built into standalones; but I still maintain a few tools for clients.


As the world developed over the decades, I feared for Kevin's company, 
whatever it was variously called. I felt that they were pursuing an almost 
impossible mission, maintaining and extending an extremely niche language 
across multiple platforms - having to persuade potential clients to buy a 
language before they could try to persuade them to buy a product. I supported 
most or all of the various fundraisers, sometimes with my company's money but 
more often with my own, even for developments I'm not interested in like HTML 
and Xavvi; in solidarity. I'm sorry that the open source experiment didn't 
work out, I'm sorry that the Filemaker idea didn't work out.


I am frankly surprised, and deeply impressed, that they have survived this 
long. It is a tribute to their tenacity and agility.


They have the right to take the company and product in whatever direction they 
think will produce the best result, and I wish them all the best luck in the 
world.


Having said all that:

- Create is not for me.

- I'll keep using Classic while I can

- Please put everything we to need know in text - I can't watch videos*

- Three things I don't yet know:
   - Is Classic changing in any way - e.g. will standalones phone home?
   - Classic supported to 2025 - is that Jan 1 2027, or Dec 31 2027?
   - When Classic goes EOL, will it stop working, or just not receive updates 
for new OS, app store rules etc?


Thanks and all the best,

Ben


* doc hawk wrote (01/08/2024):
> You say the as if expecting someone to view a video to get information 
wasn’t an act of Evil . . . :)


- and probably against DDA/ADA/EA

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Damn I missed it - happy 20th birthday!

2024-03-17 Thread Ben Rubinstein via use-livecode

Sorry it's two days late, but happy 20th birthday to
https://quality.livecode.com/show_bug.cgi?id=1372

... and many happy returns?


(I would have forgotten altogether but a colleague asked me how to do this 
conversion and I had to tell him about the workaround, and that he'd then have 
to code to strip out para formatting etc just like it always was.)


Ben


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: tsNetCustomUploadSync: what am I doing wrong? (Answer: RTFM-P)

2024-01-24 Thread Ben Rubinstein via use-livecode

For the record:

> put tsNetCustomUploadSync(tURL, "POST", tRequestData, tHeaders, ...

should have been

> put tsNetCustomUploadSync(tURL, "POST", tHeaders, tRequestData, ...

:facepalm-emoji:

Ben

On 22/01/2024 21:48, Ben Rubinstein via use-livecode wrote:

I'm trying to use tsNetCustomUploadSync, but something is going wrong.

To establish a baseline, I'm using it to do a POST request. I can prove that 
my data is good because this works:


   set the httpHeaders to tHeaders
   post tRequestData to URL tURL
   put it into fld "ResultData"
   put libUrlLastRhHeaders() into rOutHeaders

This, however:
   put tsNetCustomUploadSync(tURL, "POST", tRequestData, tHeaders, 
rOutHeaders, rResult, rBytes) into fld "ResultData"


returns an 'unauthorized' error, with message "Authentication required".

That suggests that either my URL (which contains part of the application ids 
to which my authorisation token is specific) or my headers (which contains the 
authorisation token) is not being passed correctly.


My guess is that it's more likely to be the headers. Can anyone advise?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


tsNetCustomUploadSync: what am I doing wrong?

2024-01-22 Thread Ben Rubinstein via use-livecode

I'm trying to use tsNetCustomUploadSync, but something is going wrong.

To establish a baseline, I'm using it to do a POST request. I can prove that 
my data is good because this works:


  set the httpHeaders to tHeaders
  post tRequestData to URL tURL
  put it into fld "ResultData"
  put libUrlLastRhHeaders() into rOutHeaders

This, however:
  put tsNetCustomUploadSync(tURL, "POST", tRequestData, tHeaders, 
rOutHeaders, rResult, rBytes) into fld "ResultData"


returns an 'unauthorized' error, with message "Authentication required".

That suggests that either my URL (which contains part of the application ids 
to which my authorisation token is specific) or my headers (which contains the 
authorisation token) is not being passed correctly.


My guess is that it's more likely to be the headers. Can anyone advise?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: [OT] The Fall of the British Empire???

2023-11-18 Thread Ben Rubinstein via use-livecode

> When exactly did the British Empire fall??
Just like Hemingway's bankruptcy: slowly at first, then suddenly.

Lost the American colonies 1776-1783.

Canada 1867 - 1931

Australia and New Zealand 1901 - 1931

South Africa 1910- 1931
Ireland (mostly) 1919-1937

Egypt 1922

Iraq 1932

1940s
India, Pakistan, Burma, Sri Lanka

1950s
Malaya, Singapore, Palestine

1960s
Most of the colonies in Africa, Jamaica, Barbados, Trinidad and Tobago, 
Maldives, Aden, Cyprus, Malta


1970s
Bahrain, Qatar, Trucial States (UAE), Fiji, rest of the Caribbean

1984
Hong Kong

On 17/11/2023 17:20, Bob Sneidar via use-livecode wrote:

Excerpt from The Livecode Team newsletter:

Several members of our team have been enjoying the Empire podcast recently with 
William Dalrymple and Anita Anand. This explores how empires rise, why they 
fall and how they have shaped the world around us today. The series covers THE 
RISE AND FALL OF THE BRITISH EMPIRE as well as the Ottoman Empire, with 
episodes around iconic events such as the fall of Constantinople and the Indian 
Mutiny among many others.

When exactly did the British Empire fall?? I thought it was still a thing?

Bob S

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Modify timeout for shell function

2023-11-02 Thread Ben Rubinstein via use-livecode

Hi Mark,

That's helpful, thank you.

Ben

On 01/11/2023 15:16, Mark Waddingham via use-livecode wrote:

On 2023-11-01 11:20, Ben Rubinstein via use-livecode wrote:
An install which runs daily and makes a number of calls using the shell 
function occasionally reports

The process "..." exceeded the timeout of 10 seconds.

I'm not sure where this timeout is defined; I'm not totally sure where this 
message is coming from (the shell? LiveCode? the process that was invoked 
through the shell command?).


Definitely not LiveCode - LiveCode runs the shell process until it ends on all 
platforms its implemented on (I'll leave it for another day to ponder whether 
there should be some sort of timeout to account for rogue/hung processes!)


Assuming for a moment that this isn't a timeout internal to the process that 
I happen to be invoking, is there a way in LiveCode, or in shell 
configuration, to modify this timeout?


Doing a quick google for variants of "The process ... exceeded the timeout of 
10 seconds" - then there are various results relating to Laravel - which is a 
PHP framework. So are you shell'ing to PHP? If so my guess is that whatever 
PHP script you are running is using sub-processes too, and has a process 
timeout set to 10s.


Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Modify timeout for shell function

2023-11-01 Thread Ben Rubinstein via use-livecode
An install which runs daily and makes a number of calls using the shell 
function occasionally reports

The process "..." exceeded the timeout of 10 seconds.

I'm not sure where this timeout is defined; I'm not totally sure where this 
message is coming from (the shell? LiveCode? the process that was invoked 
through the shell command?).


Assuming for a moment that this isn't a timeout internal to the process that I 
happen to be invoking, is there a way in LiveCode, or in shell configuration, 
to modify this timeout?


TIA,

Ben


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: OAuth2 broken in LC 10 (dp6)

2023-09-08 Thread Ben Rubinstein via use-livecode

Thanks Monte: https://quality.livecode.com/show_bug.cgi?id=24334

Ben

On 07/09/2023 23:39, Monte Goulding via use-livecode wrote:

Hi Ben

Launching the url in the default browser is by design as it is a required 
change to conform to RFC 8252. The notion being the user’s default browser is 
trusted not to record entered credentials while web views presented in apps 
don’t have that trust. There are notes on this breaking change in the release 
notes.

Could you please create a bug report. It sounds like there’s some issue with 
the formation of the authorisation url or parameters we are attempting to 
launch in the browser. If you could include the parameters you are using in the 
report along with it that would be most helpful. Just change the client id and 
secret so it is different but conforms to the same pattern as you are using. If 
you can launch the url in your browser and copy the url the browser is trying 
to open that would be helpful but we can do that once we have the parameters.

Thanks

Monte


On 8 Sep 2023, at 7:02 am, Ben Rubinstein via use-livecode 
 wrote:

Am I doing something wrong, or is OAuth2 broken in LC 10? (Using dp6, but also 
true of dp5).

When I call OAuth2, it attempts to open a link in my default browser, instead 
of in a sheet on the stack. This doesn't display anything.

Same stack works fine in 9.6.10 and all earlier versions I've tried, opening a 
sheet which correctly allows me to authorise, logging in as necessary.

This is on Mac, in the IDE, on macOS 12.6.7.

I'm not sure if this something to do with 
https://quality.livecode.com/show_bug.cgi?id=23767.

Can anyone confirm, before I bugzilla it?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


OAuth2 broken in LC 10 (dp6)

2023-09-07 Thread Ben Rubinstein via use-livecode
Am I doing something wrong, or is OAuth2 broken in LC 10? (Using dp6, but also 
true of dp5).


When I call OAuth2, it attempts to open a link in my default browser, instead 
of in a sheet on the stack. This doesn't display anything.


Same stack works fine in 9.6.10 and all earlier versions I've tried, opening a 
sheet which correctly allows me to authorise, logging in as necessary.


This is on Mac, in the IDE, on macOS 12.6.7.

I'm not sure if this something to do with 
https://quality.livecode.com/show_bug.cgi?id=23767.


Can anyone confirm, before I bugzilla it?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: No progress updates on LC 10. Am i the only one who is concerned?

2023-08-21 Thread Ben Rubinstein via use-livecode
Sad update: it's just happened to me again, with Bracket Completion switched 
off. I literally checked just before starting to type the format statement; 
after it crashed and I relaunched 10.0.0.dp5, I checked again. It was still 
switched off.


I see that the bug is marked awaiting release - but it's not mentioned in the 
release notes for 10.0.0dp6.


:-(


On 26/07/2023 09:58, Ben Rubinstein via use-livecode wrote:
Oooh - I hadn't spotted that. (With only a little bit of fear) I'll venture 
back into 10dp5 and turn that off. Thanks Geoff!


On 26/07/2023 03:49, Geoff Canyon via use-livecode wrote:

So, not to be too much of an apologist, but the issue doesn't seem like a
showstopper to me.

On Tue, Jul 25, 2023 at 10:36 AM Dick Kriesel via use-livecode <
use-livecode@lists.runrev.com> wrote:





On Jul 25, 2023, at 11:37 AM, Geoff Canyon via use-livecode <

use-livecode@lists.runrev.com> wrote:


Maybe a silly question, but that issue lists "turn on bracket completion"
as a step to reproduce. If bracket completion is off, is it safe?


Hi, Geoff. I filed the report. With bracket completion off, I saw no such
problem.
— Dick
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Browser widget: "Navigation request cancelled"

2023-08-15 Thread Ben Rubinstein via use-livecode
Trying to use the browser widget to access an internal site, I'm having a lot 
of trouble.


If I send it (by setting the URL property of the widget) to the root of the 
hostname, it loads the page succesfully, although the widget gets a 
browserDocumentLoadFailed message "navigation request cancelled".


If I set the URL property to some pages within the site, they load succesfully 
without that message.


If I set the URL property to some other pages, they do not load, and that 
message is received.


It's completely consistent which URLs work, and which don't.

If I send the widget to a URL which works, I can navigate anywhere within the 
site without problems, including to the URLs which don't work using set.


I haven't managed to pin down what distinguishes the working URLs from 
non-working. All the non-working ones I've found involve query parameters; but 
some of the working ones do also.


My question is: how can I debug this issue? Are there any ways to get insight 
into the loading process?


I am catching and reporting these messages:
browserDocumentLoadFailed
browserDocumentLoadComplete
browserNavigateFailed
browserNavigateComplete
browserUnhandledLoadRequest

... but the only ones that trigger are either browserDocumentLoadFailed or 
browserUnhandledLoadRequest, or browserDocumentLoadComplete - always with the 
parameter being the requested URL. I'm guessing, though I might be wrong, that 
the issue is actually with one of the elements being requested by the 
document, but this is never in the parameter.


Additionally, browserProgressChanged never seems to be sent.

Is it possible to get any more detail about what's going on?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Browzer widget zoom/scale?

2023-08-10 Thread Ben Rubinstein via use-livecode

Is there a way to set the 'zoom level' for the browser widget?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: No progress updates on LC 10. Am i the only one who is concerned?

2023-07-26 Thread Ben Rubinstein via use-livecode
Oooh - I hadn't spotted that. (With only a little bit of fear) I'll venture 
back into 10dp5 and turn that off. Thanks Geoff!


On 26/07/2023 03:49, Geoff Canyon via use-livecode wrote:

So, not to be too much of an apologist, but the issue doesn't seem like a
showstopper to me.

On Tue, Jul 25, 2023 at 10:36 AM Dick Kriesel via use-livecode <
use-livecode@lists.runrev.com> wrote:





On Jul 25, 2023, at 11:37 AM, Geoff Canyon via use-livecode <

use-livecode@lists.runrev.com> wrote:


Maybe a silly question, but that issue lists "turn on bracket completion"
as a step to reproduce. If bracket completion is off, is it safe?


Hi, Geoff. I filed the report. With bracket completion off, I saw no such
problem.
— Dick
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


How to persuade LC to accept Xcode for mobile support?

2023-07-25 Thread Ben Rubinstein via use-livecode

Apologies for what is surely a FAQ, but I can't find this in the archives.

Using LC 9.6.8 on macOS 12.6.7 with Xcode 13.4.1, trying to get set up for 
building to iOS for the first time in a long while; and failing at the first 
hurdle.


In Preferences, Mobile Support, under iOS SDKs, I click "Add Entry" and select 
Xcode; and get the dreaded message

The chosen folder is not a valid iOS SDK.
Selected Xcode must have an iOS SDK among:
12.1
13.2
14.4
15.2


Per https://livecode.com/resources/support/ask-a-question/ one of the 
supported combinations is:

LiveCode 9.6.8  Xcode 13.2.xMac OS 11.3+iOS 15.2

This is Xcode 13.4.1 rather than Xcode 13.2.x  - is that really the problem? 
Or am I missing something else?


TIA,

Ben



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Which Livecode/Xcode/macOS/iOS version

2023-07-25 Thread Ben Rubinstein via use-livecode

Thanks Heather!

On 25/07/2023 11:55, Heather Laine via use-livecode wrote:

https://livecode.com/resources/support/ask-a-question/ 
<https://livecode.com/resources/support/ask-a-question/>

Top FAQ.

Best

Heather

Heather Laine
Customer Services Manager
LiveCode Ltd
www.livecode.com




On 25 Jul 2023, at 11:06, Ben Rubinstein via use-livecode 
 wrote:

Somewhere on the livecode.com there used to be a very useful table which showed 
which versions of Livecode could run on which versions of macOS with which 
versions of Xcode in order to build to which versions of iOS.

I can't find it now... can anyone point me at it?

Many thanks,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Which Livecode/Xcode/macOS/iOS version

2023-07-25 Thread Ben Rubinstein via use-livecode
Somewhere on the livecode.com there used to be a very useful table which 
showed which versions of Livecode could run on which versions of macOS with 
which versions of Xcode in order to build to which versions of iOS.


I can't find it now... can anyone point me at it?

Many thanks,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: No progress updates on LC 10. Am i the only one who is concerned?

2023-07-25 Thread Ben Rubinstein via use-livecode
It's particularly frustrating because there are some good things in LC 10 that 
I'd like to be looking at/exploiting; but there's a vicious bug in the current 
DP script editor that can cause loss of work*, which prevents me doing 
anything with it. Just a new DP that includes a fix for this bug would be a 
huge step forward in my view/situation.


Ben

* https://quality.livecode.com/show_bug.cgi?id=24268

On 24/07/2023 16:04, matthias rebbe via use-livecode wrote:

Hi,

I know Xavvi will be the next big step and I even helped with the funding.
But I'm wondering why there hasn't been any news about LC 10 for a some months 
now.
Am I the only one worried that the full focus is now on Xavvi and LC10 is left 
behind?

Matthias


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Crazy question: is it possible/reasonable to use Python in LC?

2023-07-17 Thread Ben Rubinstein via use-livecode

"do ... as python" ??

On 13/07/2023 21:03, Geoff Canyon via use-livecode wrote:

I've been playing with Python, and it has a lot of nice qualities, but a
built-in GUI isn't one of them (no apologies to tkinter).

So it would be interesting/nice to be able to open LC, add a button to a
stack, and put some python into the script of that button and have it just
work, with access to the rest of the LC stack/controls as usual.

Obviously that's not possible, but how close can we come? I assume it would
be possible to write a shell command to trigger a python script, but that
seems complex and sub-optimal, especially when thinking about having to
bundle together all the bits and bobs from the LC UI to pass as arguments
to the Python script instead of having it able to just reference what it
needs on the fly.

Anyway, wondering if anyone else has thought about this.

gc
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Browser widget "Navigation request cancelled"/"NSURLErrorDomain error -999"

2023-07-16 Thread Ben Rubinstein via use-livecode
I'm finding intermittent issues with the browser widget failing to load an 
internal site.


In 9.6.8, the error (in browserDocumentLoadFailed) will usually be 
"NSURLErrorDomain error -999". In 10.0.0 (dp 5) it will be "Navigation request 
cancelled".


Alternatively, sometimes  (at least in 9.6.8) it will be
	"The resource could not be loaded because the App Transport Security policy 
requires the use of a secure connection."


... which is fair enough, because it's an "http:" URL rather than an "https:" 
(this is an application on our intranet); but the whacky part is that 
_sometimes_ I can load the site, and once loaded I can navigate it fine.


In particular I have more success in loading it in 10.0.0 (dp 5) - although 
sometimes the site will load, _and_ the browserDocumentLoadFailed message will 
be sent! I also sometimes find I can load it if I set the URL in the property 
inspector for the browser widget, where setting it in script fails.


Can anyone shed light? I'd prefer to get this working in 9.6.8, because due to 
https://quality.livecode.com/show_bug.cgi?id=24268 I tend to lose work in 
10.0.0 (dp 5) - but if I could get it consistently working in either that 
would be a step forward!


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: [OT ish] Visual Code Editor and Line Endings

2023-07-12 Thread Ben Rubinstein via use-livecode

I agree that the behaviour of the editors is very annoying.

But LC is also needs to get with the program. On the positive side, it 
interprets any combination of LF, CR, CRLF as a line break when reading a file 
as text.


But it persists in writing text files with a platform dependent encoding of 
line breaks, which on macOS (where the system default is LF) is still CR.


As I wrote in https://quality.livecode.com/show_bug.cgi?id=17774:

As near as I can tell, Metacard introduced support for Mac around 1993 
(? -happy to be corrected). So MC/Rev/LC has already been writing the 'wrong'

files for twice as long as it was writing the 'right' ones (based on MacOS X
introduced in 2001). At what point can we change? If not now, when?


But I was excited just now to see this:
https://quality.livecode.com/show_bug.cgi?id=23943

Is it possible that the long reign of CR terror may soon be over?

Ben

On 10/07/2023 21:09, Bob Sneidar via use-livecode wrote:

Code is not the only editor to “assume” you want to change out all the line 
endings. Microsoft has been doing this for years. Just OPENING a file where the 
platform defaults differ from the document results in Microsoft Word altering 
the file, despite a user closing without saving.

It is in my opinion a serious violation of trust on Microsoft’s part. Who made 
them the gods of data formatting that they think they can take this license 
with files that do not belong to them?

Toshiba has an address book export function with line endings of a certain 
kind. If I open them in Word for Windows, edit the file and save it, everything 
works fine. If I just open the file on Word for MacOS it will “corrupt” the 
file, and I do mean corrupt! The file will become unusable even if it is not 
edited or saved.

One of a hundred things that upset me about Microsoft.

Bob S


On Jul 10, 2023, at 9:25 AM, Ralph DiMola via use-livecode 
 wrote:

Beware!



I moved from Atom to Code 6-9 months ago. Didn't look back until yesterday.

Code does not support CR line endings. I received a text file that was
output from InDesign(latest version). I made a minor change in the text
file. I processed it with a program that had been around for years. I sent
the processed file to the customer and results were disastrous. Unknown to
me all the LFs in the file were changed without warning to line endings.
Apparently VC only has 2 line ending options LF and CRLF but not CR.
Apparently I'm not the first to get bitten by this. An enhancement request
to support CR line endings has been around for 5 years and not addressed.
Seem like a simple fix, but what do I know about VC's internals.



Hope this prevents one of you from getting bitten..



Ralph DiMola

IT Director

Evergreen Information Services

rdim...@evergreeninfo.net



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Inclusions and JSON

2023-05-10 Thread Ben Rubinstein via use-livecode
Further to this: dear LiveCode, please make the Inclusions selector in the 
standalone settings window navigable - at least sortable by name, platform, 
selected; even-better-if can be filtered.


See also https://quality.livecode.com/show_bug.cgi?id=18199, which includes a 
comment in 2017 specifically referencing 'json' as a use-case for filtering.


And apparently Ali Lloyd did exactly this six years ago:
https://github.com/livecode/livecode-ide/pull/1809

... but nobody has ever reviewed the pull request.

:-(

Ben


On 10/05/2023 00:57, Paul Dupuis via use-livecode wrote:

NEVER MIND.

I just realized that JSONToArray is part of the mergeJSON library and not part 
of the JSON library! Dear Livecode: For the JSON ignorant among us, could we 
just have one JSON library - by whatever name!



On 5/9/2023 7:30 PM, Paul Dupuis via use-livecode wrote:
I have a stack that serves as a plugin for our app. The plugin stack makes 
some calls using jsonToArray


The external stack alone in the LC 9.6.9 IDE works perfectly. The external 
plugin stack opened in our app in LC 9.6.9 IDE works perfectly. The external 
plugin stack opening in the standalone of our app, generates the error:


Function: error in function handler: jsonToArray (Line 61, column 8)
put: error in expression:  (Line 61, column 8)

Line 61 is just:   put jsonToArray(it) into tResponseA

There are other controls that work in the IDE and fail with the lines that 
include the jsonToArray call in the standalone. I do manual inclusions in 
the Standalone settings since the plugins are external stacks loaded into 
the standalone by user command. Automatic inclusions won't find the 
not-yet-loaded external stacks to find the JSON library calls. I have 
included the JSON Library in the inclusions list in my app's standalone 
settings.


Is there any other library that must be included for me to use jsonToArray? 
I am not a json literate person. I am just using copied code. Also, is there 
any debugging to be sure the JSON library was actually included in the 
standalone (the check box in the Standalone setting is set!)


Thank you for any guidance on this issue.




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Problem using AppleScript of "system events" to click a location on screen

2023-04-27 Thread Ben Rubinstein via use-livecode

Update to note:

1) Difference in LiveCode versions.

Under the IDE in LiveCode 9.6.7 behaviour is as per the standalone; no click, 
and 'the result' is the path to the control.  Under the IDE in LiveCode 9.6.8 
or LiveCode 10.0.0dp5, 'the result' is "execution error".


2) The browser widget is a red herring; relevant only insofar as if it was 
some other spot on the stack, I could just the LiveCode "click at ". 
Whether over the browser widget or some other part of the stack window, 
invoking the applescript returns the identity of the control at that location, 
rather than clicking it (in LC 9.6.7 IDE, or standalone built from any 
version); or execution error in later IDEs.


On 27/04/2023 16:42, Ben Rubinstein via use-livecode wrote:
I had a need to click on an element in a web page loaded in a browser widget 
on a card.


There might be an elegant way to do this using javascript injected into the 
widget, but I'm too ignorant to figure it out.


So to save time (hah!), I though I could use the accessibility functionality 
to just click on that bit of the screen. I could get the location to click 
within the stack, then use globalLoc to convert it to screen coordinates.


(This is just a personal stack to achieve an objective, nothing that's ever 
going to be shared with anyone else, so any filthy/fragile method is OK if it 
works.)


I tested this in Script Debugger:

 tell application "System Events"
     click at {917, 667}
 end tell

It worked fine.

So then I tried the same script in my stack, via
 do ... as "applescript"

And after a brief spinning pizza, got the dry result "execution error".

I expected that this would happen because I needed to give it permission to 
control the computer; but after granting that in System Preferences, there was 
no change.


Just for fun, I tried building a standalone from my stack. This demonstrated a 
different effect: first I got the same result "execution error". Then I 
granted it permission for this standalone app to 'control the computer'. Now, 
there's still no evidence that it sends a click; but it gives a different 
result, which I think is the path to the UI element corresponding to that 
location. If the point is over a native control in the stack, it's something like

  window "Ben Test Stack (1)" of application process "Ben Test Stack"
 of application "System Events"

(I don't think LiveCode controls are recognisable by the accessibility 
system.) If the point is over the browser widget, 'the result' is something like:

 group 2 of UI element 1 of scroll area 1 of group 1 of group 1
  of window "Ben Test Stack (1)" of application process "Ben Test Stack"
 of application "System Events"

("Ben Test Stack" is the name of my stack and of the standalone. My guess 
about the complicated control path is that it reflects the complicated web 
page loaded in the browser widget.)


So that does suggest that there is something which doesn't quite work about 
giving the IDE permission to use the Accessibility Framework, but which does 
for a standalone. But still doesn't explain what the problem is.


I finally solved my problem with an even uglier hack: compiling the script 
from Script Debugger as an 'application', and then in my stack, instead of 
executing the applescript directly, using "launch" on that application. Yeuchh.


Can anyone shed light, either on how to grant the IDE permission to use the 
Accessibility controls; or on why the applescript wouldn't work?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Problem using AppleScript of "system events" to click a location on screen

2023-04-27 Thread Ben Rubinstein via use-livecode
I had a need to click on an element in a web page loaded in a browser widget 
on a card.


There might be an elegant way to do this using javascript injected into the 
widget, but I'm too ignorant to figure it out.


So to save time (hah!), I though I could use the accessibility functionality 
to just click on that bit of the screen. I could get the location to click 
within the stack, then use globalLoc to convert it to screen coordinates.


(This is just a personal stack to achieve an objective, nothing that's ever 
going to be shared with anyone else, so any filthy/fragile method is OK if it 
works.)


I tested this in Script Debugger:

tell application "System Events"
click at {917, 667}
end tell

It worked fine.

So then I tried the same script in my stack, via
do ... as "applescript"

And after a brief spinning pizza, got the dry result "execution error".

I expected that this would happen because I needed to give it permission to 
control the computer; but after granting that in System Preferences, there was 
no change.


Just for fun, I tried building a standalone from my stack. This demonstrated a 
different effect: first I got the same result "execution error". Then I 
granted it permission for this standalone app to 'control the computer'. Now, 
there's still no evidence that it sends a click; but it gives a different 
result, which I think is the path to the UI element corresponding to that 
location. If the point is over a native control in the stack, it's something like

window "Ben Test Stack (1)" of application process "Ben Test Stack"
of application "System Events"

(I don't think LiveCode controls are recognisable by the accessibility 
system.) If the point is over the browser widget, 'the result' is something like:

group 2 of UI element 1 of scroll area 1 of group 1 of group 1
of window "Ben Test Stack (1)" of application process "Ben Test Stack"
of application "System Events"

("Ben Test Stack" is the name of my stack and of the standalone. My guess 
about the complicated control path is that it reflects the complicated web 
page loaded in the browser widget.)


So that does suggest that there is something which doesn't quite work about 
giving the IDE permission to use the Accessibility Framework, but which does 
for a standalone. But still doesn't explain what the problem is.


I finally solved my problem with an even uglier hack: compiling the script 
from Script Debugger as an 'application', and then in my stack, instead of 
executing the applescript directly, using "launch" on that application. Yeuchh.


Can anyone shed light, either on how to grant the IDE permission to use the 
Accessibility controls; or on why the applescript wouldn't work?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: "get in widget"?? How can I get a value out of a browser widget into LiveCode?

2023-04-18 Thread Ben Rubinstein via use-livecode
I've found a solution. For the benefit of others (and myself, because I'll 
have forgotten this next time I want it), this can be done using "the 
javascriptHandlers".


So you can set up a handler to be called from the browser:
set the javascriptHandlers of widget "Browser" to "myJSHandler"

... and then have javascript pass the expression to that handler:

do "liveCode.myJSHandler(document.title);" in widget "browser"



On 17/04/2023 16:17, Ben Rubinstein via use-livecode wrote:

Thanks Klaus, I tried both of those!

So for example I can execute
 do "alert(document.title)" in widget "browser"

and see the expected string in an alert box. But
 do "document.title" in widget "browser"; put it

or
 do "document.title" in widget "browser"; put the result

just put empty.

Any other ideas? I don't know whether I need to do something different in the 
livecode end (probably) or in the javascript end.


TIA,

Ben


On 17/04/2023 16:11, Klaus major-k via use-livecode wrote:

Hi Ben,

Am 17.04.2023 um 16:37 schrieb Ben Rubinstein via use-livecode 
:


Thanks to this list, I know about "do in widget" that can cause some 
javascript to be evaluated in the current page in the browser widget. Which 
is great.


But how do I get (into LiveCode) the result of a javascript expression?


if in doubt try either -> IT or -> the result :-)


TIA,

Ben


Best

Klaus

--
Klaus Major
https://www.major-k.de
https://www.major-k.de/bass
kl...@major-k.de


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: "get in widget"?? How can I get a value out of a browser widget into LiveCode?

2023-04-17 Thread Ben Rubinstein via use-livecode

Thanks Klaus, I tried both of those!

So for example I can execute
do "alert(document.title)" in widget "browser"

and see the expected string in an alert box. But
do "document.title" in widget "browser"; put it

or
do "document.title" in widget "browser"; put the result

just put empty.

Any other ideas? I don't know whether I need to do something different in the 
livecode end (probably) or in the javascript end.


TIA,

Ben


On 17/04/2023 16:11, Klaus major-k via use-livecode wrote:

Hi Ben,


Am 17.04.2023 um 16:37 schrieb Ben Rubinstein via use-livecode 
:

Thanks to this list, I know about "do in widget" that can cause some javascript 
to be evaluated in the current page in the browser widget. Which is great.

But how do I get (into LiveCode) the result of a javascript expression?


if in doubt try either -> IT or -> the result :-)


TIA,

Ben


Best

Klaus

--
Klaus Major
https://www.major-k.de
https://www.major-k.de/bass
kl...@major-k.de


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


"get in widget"?? How can I get a value out of a browser widget into LiveCode?

2023-04-17 Thread Ben Rubinstein via use-livecode
Thanks to this list, I know about "do in widget" that can cause some 
javascript to be evaluated in the current page in the browser widget. Which is 
great.


But how do I get (into LiveCode) the result of a javascript expression?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Debugging LiveCode Builder scripts (widgets)

2023-03-30 Thread Ben Rubinstein via use-livecode

I'm trying to track down an obscure crashing bug in a widget.

With thanks to Mikey for 
https://github.com/macMikey/LCB-missing-manual/wiki/debugging, I've mostly 
been able to get by using 'log' as my primary debugging method, for all my 
simple scripting errors.


However in this case the problem is that under certain circumstances 
LiveCode/the widget hangs when new data is set. In this case (I'm reasonably 
certain) the log messages that are issued are never reported. The standard 
things seems to be that messages sent by 'log' are buffered, and reported when 
idle.


Are there any tips for putting out debugging info from a widget that can 
either be displayed/reported _immediately_ in LiveCode, or to some other app 
so that I can get them up to the point that it hangs?


TIA, Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Is it possible to use a reverse direction for offset

2023-03-23 Thread Ben Rubinstein via use-livecode
https://quality.livecode.com/show_bug.cgi?id=584 (20th anniversary this 
September!)


Also
https://quality.livecode.com/show_bug.cgi?id=8353



On 23/03/2023 11:35, François via use-livecode wrote:

I would like to search for a string within another string, starting at a given 
position, but backward.

In some languages, you can achieve that by providing a negative number for the 
initial position of the search.

Is this possible in LiveCode?

TIA
François
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: LCB development (LCB CLM module)

2023-03-15 Thread Ben Rubinstein via use-livecode

Thanks Mike, if I can contribute anything useful I will.

Ben

On 15/03/2023 12:22, Mike Kerner via use-livecode wrote:

We have the beginnings of a missing manual for LCB, so it might be helpful,
and as you learn things, it would be great if you would throw issues at the
the repo:
https://github.com/macMikey/LCB-missing-manual

On Wed, Mar 15, 2023 at 6:43 AM Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


I didn't even know (had forgotten) that there was an extension builder!
That's
great.

Searching the archives to find out where this special thing could be
obtained
from (hint for my future self, it's in the IDE under the Tools menu) I
found
references to the Extending LiveCode guide... which is obviously what I
should
have read in the first place.

Thanks all!

Ben

On 14/03/2023 18:02, Mark Wieder via use-livecode wrote:

On 3/14/23 10:08, Ben Rubinstein via use-livecode wrote:

I last dabbled with LCB about five years ago - but now I have a need to

get

in there again.

Are there any tips that you-all can share?

In particular:

- what if anything is available for debugging LCB widgets?

- I've found a reference to a LiveCode Builder CLM module developed by

James

Hale - where might I find this?

- a really basic question - if I make a change to an LCB widget,

defined in

~/Documents/LiveCode/Extensions; what's the quickest route to testing

it?

Can I delete and re-add the widget? Or do close+remove-from-memory the
stack, and then reopen it? Or do I need to quit and relaunch LiveCode

in

order to see the change?

- any other pointers or suggestions gratefully received.


Use the extension builder to test the widget. I keep a text editor open

to

edit the code and press the test button after editing. No need to

relaunch

either the builder or the IDE. Debugging is minimal.

I've found very little documentaion on LCB, and much of what I've found

is

either out of date or partial or wrong.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode






___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: BBEdit/Textwrangler LCM for livescript

2023-03-15 Thread Ben Rubinstein via use-livecode

The links below, alas, are no longer live (well it has been seven+ years).

Are these CLMs or later versions available anywhere?

Many thanks,

Ben


On 10/09/2015 15:35, jameshale wrote:

Updated livecodeBuilder CLM to adjust function regex so that function names
appear in BBEdit's function popup

https://dl.dropboxusercontent.com/u/8212901/LiveCodeBuilder.plist


James



--
View this message in context: 
http://runtime-revolution.278305.n4.nabble.com/BBEdit-Textwrangler-LCM-for-livescript-tp4696091p4696217.html
Sent from the Revolution - User mailing list archive at Nabble.com.

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: LCB development

2023-03-15 Thread Ben Rubinstein via use-livecode
I didn't even know (had forgotten) that there was an extension builder! That's 
great.


Searching the archives to find out where this special thing could be obtained 
from (hint for my future self, it's in the IDE under the Tools menu) I found 
references to the Extending LiveCode guide... which is obviously what I should 
have read in the first place.


Thanks all!

Ben

On 14/03/2023 18:02, Mark Wieder via use-livecode wrote:

On 3/14/23 10:08, Ben Rubinstein via use-livecode wrote:
I last dabbled with LCB about five years ago - but now I have a need to get 
in there again.


Are there any tips that you-all can share?

In particular:

- what if anything is available for debugging LCB widgets?

- I've found a reference to a LiveCode Builder CLM module developed by James 
Hale - where might I find this?


- a really basic question - if I make a change to an LCB widget, defined in 
~/Documents/LiveCode/Extensions; what's the quickest route to testing it? 
Can I delete and re-add the widget? Or do close+remove-from-memory the 
stack, and then reopen it? Or do I need to quit and relaunch LiveCode in 
order to see the change?


- any other pointers or suggestions gratefully received.


Use the extension builder to test the widget. I keep a text editor open to 
edit the code and press the test button after editing. No need to relaunch 
either the builder or the IDE. Debugging is minimal.


I've found very little documentaion on LCB, and much of what I've found is 
either out of date or partial or wrong.




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


LCB development

2023-03-14 Thread Ben Rubinstein via use-livecode
I last dabbled with LCB about five years ago - but now I have a need to get in 
there again.


Are there any tips that you-all can share?

In particular:

- what if anything is available for debugging LCB widgets?

- I've found a reference to a LiveCode Builder CLM module developed by James 
Hale - where might I find this?


- a really basic question - if I make a change to an LCB widget, defined in 
~/Documents/LiveCode/Extensions; what's the quickest route to testing it? Can 
I delete and re-add the widget? Or do close+remove-from-memory the stack, and 
then reopen it? Or do I need to quit and relaunch LiveCode in order to see the 
change?


- any other pointers or suggestions gratefully received.

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Browser Widget navigation and urls

2023-02-06 Thread Ben Rubinstein via use-livecode
The website might be actually a JavaScript 'app' that's displaying different 
information rather than navigating to different pages, which is now a very 
popular web dev technique.


A responsible implementation of this approach includes a non-JS fallback, for 
accessibility purposes; and makes the app manipulate the browser's URL display 
so that if someone bookmarks the page, or sends a link, the link will work to 
display the same 'page' as the user intended.


You might be able to inject something to access the 'window.location' object, 
which I think is what is manipulated in this case.



On 05/02/2023 12:28, David Bovill via use-livecode wrote:

I have a web site which I navigate in Chrome, and then in the Livecode
browser widget. I load the same starting url.  In Chrome the browsers url
changes as I navigate the pages, while if I navigate to the saem place in
the same way in Livecodes embedded browser "the url" of the browser widget
returns the original url and not the one i've navigated to.

I'm trying to bookmark the url of the page navigated to in the browser
widget - any ideas?
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Cross-platform font comparison

2023-01-30 Thread Ben Rubinstein via use-livecode

Thank you Neville for this diligent work! A very useful contribution.

Ben

On 29/01/2023 03:56, Neville Smythe via use-livecode wrote:

I have at last completed the compilation of a font database to examine the 
issues concerning the differences in rendering text on Mac Monterey, Windows 10 
and Linux Ubuntu.


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Ignoring accented characters

2022-09-27 Thread Ben Rubinstein via use-livecode

Hi jbv,

This one of a number of gaps that exist in the jungle of character processing 
in LiveCode.


I don't think there is a 'diacriticSensitive' property. Some part of LiveCode 
are clever about accents, see e.g.

https://quality.livecode.com/show_bug.cgi?id=15312
https://quality.livecode.com/show_bug.cgi?id=15443

As you note, it would be useful if there was a built-in function to strip 
diacritics, which has been requested (for 14 years now):

https://quality.livecode.com/show_bug.cgi?id=6450

One trick that can be used in some contexts is to put the text into a field, 
retrieve the htmlText of the fields - which encodes many accented characters 
as entity names - and reduce these entity names back to the unaccented character.


There's also an enhancement request (pending for over 18 years) to expose this 
functionality without the need to use a field - useful for many purposes, not 
just for stripping accents:

https://quality.livecode.com/show_bug.cgi?id=1372

This especially ought to be a cheap enhancement, since LC evidently 
incorporates the necessary tables already.


Putting text through html entities is not a perfect solution to implementing a 
"stripDiacritics" function, because e.g. you might render "—" as "m"; 
but as far as I know, currently it's either that or encode your own tables.


Ben


On 16/09/2022 15:10, jbv via use-livecode wrote:

Hi list,

Is there a way to ignore accented characters in LC, like in mySQL
for instance ?
Here's an example : I need these 2 array items below to be considered
as 1 single entity :
   add 1 to myArray["interprétation"]
   add 1 to myArray["interpretation"]

Of course, I can write a function that removes accents, but I was
wondering if there was a built-in function in LC to do that, in a
similar logic as "set the casesentive to false" for instance.

Thanks you in advance.
jbv

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Complete Advanced Networking Layer?

2022-07-15 Thread Ben Rubinstein via use-livecode

Ah, thanks both.

I see now there's a "[PRO]" badge on some tsNet functions in the Dictionary.

Thanks very much,

Ben

On 15/07/2022 16:40, matthias rebbe via use-livecode wrote:

According to this overview there https://livecode.com/pro-features/

the following tsNet features are in included in the Pro Features

- Non-blocking, asynchronous operations on SFTP, SMTP, SMTPS and SMTP/TLS
- SFTP authentication via public key authentication giving the best possible 
security
- SMTP(S/TLS) / SFTP downloads and uploads can either be via file or via 
variable – you are not limited by the memory available to your variable
- Ability to generate public / private key pairs suitable for use with SFTP – 
no need for an external application to create these
- Ability to send additional raw commands along with FTP and SFTP transfers to 
be executed before or after the transfer completes


Am 15.07.2022 um 16:22 schrieb Ben Rubinstein via use-livecode 
:


Is there reference documentation anywhere for the "Complete Advanced Networking Layer" 
which is included in the "Pro Features Pack"?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Complete Advanced Networking Layer?

2022-07-15 Thread Ben Rubinstein via use-livecode



Is there reference documentation anywhere for the "Complete Advanced 
Networking Layer" which is included in the "Pro Features Pack"?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: What is the best way to trigger an action at a certain time?

2022-07-13 Thread Ben Rubinstein via use-livecode
Whatever works for your situation! At least one of my jobs, which runs a few 
times a week (pulling data from an internal system, generating and emailing a 
PDF report) has to launch fresh each time because of a bug in the graph widget 
which displays wrong if the script runs twice!


There are others where the LC qpp is part of a dance in which other systems 
run before and after, so a batch script invoking each in turn is the thing 
that's scheduled.


But of course there are contexts in which the best solution is an LC app 
waiting for a time or a command at which to leap into action.


On 12/07/2022 22:56, Bob Sneidar via use-livecode wrote:

Hmmm. Ok, but it seems having the LC app running invisibly all the time, 
listening for a command, something the cron service could do through the 
terminal easily enough, you could make it much more efficient. Just methods and 
madness I suppose.

Bob S



On Jul 12, 2022, at 13:15 , Ben Rubinstein via use-livecode 
 wrote:

I think I may not have been very clear.

This isn't LiveCode doing anything special; just a standalone LiveCode app that 
either does something immediately on launch (and then quits), or inspects the 
command line parameters to decide what to do (and then quits).



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: What is the best way to trigger an action at a certain time?

2022-07-12 Thread Ben Rubinstein via use-livecode

I think I may not have been very clear.

This isn't LiveCode doing anything special; just a standalone LiveCode app 
that either does something immediately on launch (and then quits), or inspects 
the command line parameters to decide what to do (and then quits).


I usually create a .bat file (on Windows) or .sh file (on Mac/Linux) to run 
the LC app with the appropriate parameters.


On Windows you run the "Task Scheduler" and create a task to run the .bat 
file, with whatever schedules you like. On Mac/Linux you edit the 'crontab' 
file adding one or more lines with the interesting syntax to execute the .sh file.


Your app can read the command line parameters (on Mac/Linux or Windows) by 
inspecting the special global variables $0, $1 etc.


The only gotcha is that on Mac, you think your app is at e.g.
 /Users/yourname/Myapp

 - but actually on Mac what appears to be an application "Myapp" is a bundle 
(i.e. a folder with a special flag so the Finder pretends it's not), and the 
path to the executable app is e.g.

 /Users/yourname/Myapp.app/Contents/MacOS/Myapp

On Linux and Windows, it's where you think it is!

Ben

On 12/07/2022 15:56, Bob Sneidar via use-livecode wrote:

It seems to me that if you have an open socket to listen for commands, you 
could have the chron or windows scheduler send those commands to your LC app.

Ben, some syntax would be helpful.

Bob S



On Jul 12, 2022, at 07:48 , Ben Rubinstein via use-livecode 
 wrote:

Hi Tim,

On 11/07/2022 12:35, Tim Selander via use-livecode wrote:

I want to have an LC app running on a computer doing nothing but watching the 
time. At predetermined times, I then want it to run a command. A call to an API 
on a website.


My $0.02, FWIW: it this is really all your app is doing, and the times are 
every fee hours or days, rather than every few seconds, I would use the 
computer's built in scheduler to invoke your app, rather than have it running 
continuously and watching the time.

I have a number of things like this - LC apps which are launched by schedule. 
On Windows, the Windows scheduler (I generally use a batch script which 
launches the app in this case); on Mac or Linux, use cron. I find this more 
reliable, easier to update etc.

Ben



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: What is the best way to trigger an action at a certain time?

2022-07-12 Thread Ben Rubinstein via use-livecode



Hi Tim,

On 11/07/2022 12:35, Tim Selander via use-livecode wrote:
I want to have an LC app running on a computer doing nothing but watching the 
time. At predetermined times, I then want it to run a command. A call to an 
API on a website.


My $0.02, FWIW: it this is really all your app is doing, and the times are 
every fee hours or days, rather than every few seconds, I would use the 
computer's built in scheduler to invoke your app, rather than have it running 
continuously and watching the time.


I have a number of things like this - LC apps which are launched by schedule. 
On Windows, the Windows scheduler (I generally use a batch script which 
launches the app in this case); on Mac or Linux, use cron. I find this more 
reliable, easier to update etc.


Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Have we lost the Oracle driver?

2022-06-09 Thread Ben Rubinstein via use-livecode

I'm attempting to re-up this.

I've been distracted by other issues, but now trying again to use the direct 
Oracle driver, rather than the ODBC one.


I have confirmed that LiveCode is appropriately licensed ("professional" 
rather than "commercial"); and the standalone package contains 
"dboracle.bundle"(on Mac); on Windows the "dboracle.dll" is in the Externals 
folder.


The current situation is that when I attempt this on Mac, I get the error 
message:

'revdberr,invalid database type' (30)


On Windows, the standalone crashes.

Where next...?

TIA,

Ben

On 03/03/2022 17:14, Ben Rubinstein via use-livecode wrote:

Hi Panos,

Alas, that's made no difference.

Does this error message "revdberr,invalid database type" actually indicate a 
failure to load the driver, or can it also occur if the driver was loaded but 
there were issues initialising it, or some other issues connecting to the 
given server and database?


Is there any other detail of errors available anywhere (I looked at the 
Console but there is just a continual tide of reports in that, so I couldn't 
spot anything)?


Thanks again,

Ben

On 03/03/2022 16:23, panagiotis m via use-livecode wrote:

Hello Ben,

I _think_ you just have to create a symlink to this version of the
libclntsh:

1. Open a Terminal
2. Navigate to the instant client directory, e.g. suppose it is in your
Downloads:

cd ~/Downloads/instantclient_11_2

3. Create the symlink:

ln -s libclntsh.dylib.11.1 libclntsh.dylib

Kind regards,
Panos
--

On Thu, 3 Mar 2022 at 15:25, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi Panos,

LiveCode 9.6.6 on macOS 10.15.7 (Catalina).

I've downloaded the Oracle stuff but it doesn't seem to have an install
script
- where should I put "libclntsh.dylib.11.1"?

thanks for your help,

Ben

On 02/03/2022 12:58, panagiotis m via use-livecode wrote:

Hello Ben,

I take it you are on MacOS? Which MacOS version, and which LiveCode

version

are you using?

Could it be the case you haven't got the right version of Oracle Instant
Client installed? You need libclntsh.dylib.11.1, found here:


https://download.oracle.com/otn/mac/instantclient/11204/instantclient-basic-macos.x64-11.2.0.4.0.zip 



Kind regards,
Panos
--

On Tue, 1 Mar 2022 at 19:46, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi Mark,

Thanks for responding. Indeed 'the revLicenseInfo` returned
"...commercial".
After re-licensing, it now says "...professional" - however, I still

can't

open a connection to an Oracle database.

Re-licensing *did* make a difference: whereas previously it broke into

the

debugger, and (sometimes) displayed the error
   > execution error at line n/a (External handler execution error:
revdberr,driver not licensed for this edition)

now revOpenDatabase simply returns
   > revdberr,invalid database type

So I guess it's not a licensing issue any more, which is good; but I

still

can't get at the database! Can you suggest where my next issue might be?

Many thanks,

Ben

On 01/03/2022 16:08, Mark Waddingham via use-livecode wrote:

On 2022-03-01 15:51, Ben Rubinstein via use-livecode wrote:

Hi Matthias,

Good spot! Thanks for checking.

I wonder whether this is an accidental omission, in that Oracle was at
one time only available at a certain higher level of license; maybe
now that there is only level, perhaps someone forgot to tweak whatever
bit of code checked that the 'correct' license was in place?


All business-only features were moved to be part of the pro features

pack -

the oracle driver included.

If it isn't working in your current version of LC, check that the

license you

have licensed LC with does have the pro features pack in it...

If you do `put the revLicenseInfo` it should say professional, rather

than

commercial.

If it doesn't say professional, Relicense your IDE using the menu item

in Help

and flick through the licenses you have available until one says 'pro'

in the

title.

If the revLicenseInfo does say professional then something odd has

happened

somewhere which will need to look into more deeply!

Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your

subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, uns

Re: Would anyone miss convertOctals?

2022-06-09 Thread Ben Rubinstein via use-livecode

1) No (or didn't until I looked just now)
2) N/A
3) N/A
4) N/A


On 09/06/2022 13:44, Mark Waddingham via use-livecode wrote:
So I'm currently sitting here about to embark on fixing 
 (which is the final thing 
to sort out before being able to merge my constant expression patch) and I was 
reminded of 'convertOctals'.


Now, generally, I am somewhat averse to actually removing any language feature 
(even those we have deprecated, unless we absolutely have to!) - however, I 
would really like to make convertOctals have no effect at all in 10.0+ as it 
adds a disproportionate amount of complexity compared to (what I think, at 
least) its utility is (particularly in the context of things 'coming next' 
like the script compiler).


So three questions:

   1) Do you know what convertOctals is, and what it does?

   2) If you do, have you ever actually used it in any scripts which are 
actually still in use?


   3) If you do use it in any scripts which are still in use, would you be 
willing to change them to not use it?


   4) If you do use/have used it, had you ever noticed that it has been 
slightly broken for years?


Now, its always better to offer a carrot when there is a stick (or in this 
case, an axe) being wielded and the carrot in this case would be to expand the 
numeric literal syntax to add both explicit octal and binary number literals 
alongside hexadecimal:


     0xabcdef - hex literal
     0o777 - octal literal
     0b101110101

The key difference between 0o777 and using 0777 (with convertOctals true) is 
that the former is not ambiguous at parse time, it doesn't require a runtime 
property set to true in order for the engine to convert the string to a number 
correctly.


Please let me know your thoughts :)

Warmest Regards,

Mark.

P.S. In the scheme of 'breaking changes' - we've already made a number of them 
for 10 already, and my gut tells me removing convertOctals is likely to cause 
less consternation than those we already have - but I could be wrong!




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: MacOS on M1: forcing universal app to open using rosetta from terminal?

2022-06-07 Thread Ben Rubinstein via use-livecode

Thanks Matthias, that's exactly what I need. My googling was inadequate!

Ben

On 06/06/2022 23:13, matthias rebbe via use-livecode wrote:

Maybe this is of help for you.
https://medium.com/swlh/run-x86-terminal-apps-like-homebrew-on-your-new-m1-mac-73bdc9b0f343
 
<https://medium.com/swlh/run-x86-terminal-apps-like-homebrew-on-your-new-m1-mac-73bdc9b0f343>

Regards,
Matthias



Am 07.06.2022 um 00:01 schrieb Ben Rubinstein via use-livecode 
:

Not strictly speaking a LiveCode question, but...

I've resolved what I thought was possibly an LC confusion as my misunderstanding. With a universal 
app on an M1 Mac, you can set a checkbox in the "Get Info" properties inspector of the 
app to "Open using Rosetta". But this checkbox only affects launching the app from the 
Finder. If you check this box on a universal binary, then launch it from the Terminal, it always 
runs the 'native' code.

Is there a way to run the intel code from a universal binary under Rosetta from 
the command line?

TIA,

Ben


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


MacOS on M1: forcing universal app to open using rosetta from terminal?

2022-06-06 Thread Ben Rubinstein via use-livecode

Not strictly speaking a LiveCode question, but...

I've resolved what I thought was possibly an LC confusion as my 
misunderstanding. With a universal app on an M1 Mac, you can set a checkbox in 
the "Get Info" properties inspector of the app to "Open using Rosetta". But 
this checkbox only affects launching the app from the Finder. If you check 
this box on a universal binary, then launch it from the Terminal, it always 
runs the 'native' code.


Is there a way to run the intel code from a universal binary under Rosetta 
from the command line?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Reporting Apple Silicon anomalies (Re: [[ ANN ]] Release 9.6.8 RC-1)

2022-06-06 Thread Ben Rubinstein via use-livecode

Hi Panos,

This is very exciting, thank you. If we find anomalies in the Apple Silicon 
side, should we raise them in the first instance

 - to you directly?
 - on this list?
 - straight into LQCC?

thanks,

Ben

On 31/05/2022 16:27, panagiotis merakos via use-livecode wrote:

Dear list members,

We are pleased to announce the release of LiveCode 9.6.8 RC-1.

You can find more details on the bug fixes and improvements of this new
release here:

https://livecode.com/m1-native-latest-livecode-releases/

You can find the release in your LiveCode account area or get it via the
automatic updater.

Enjoy!

Kind regards
The LiveCode Team

--
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Re Pulldownmenu button bug on Windows

2022-05-12 Thread Ben Rubinstein via use-livecode

Ditto that. There should be a "Lifetime contribution" award for Livecode heroes.

Ben

On 09/05/2022 14:54, Craig Newman via use-livecode wrote:

Richard.

So glad to have you in this world.

Craig


On May 7, 2022, at 5:35 PM, Bob Sneidar via use-livecode 
 wrote:

Well put. I wonder what the real world effect of the order of messages is, and 
whether or not it could be compensated for by send in time?

Sent from my iPhone


On May 7, 2022, at 13:44, Richard Gaskin via use-livecode 
 wrote:

It's definitely an inconsistency, but the bug's status as requiring "EXPERT REVIEW" prompts us to 
consider why these differences exist, and which, if any, should be considered "wrong" or 
"right".  It may not be as simple as it seems at first glance.


Background:
--
MetaCard (the engine we now call LiveCode) was born on Unix, later ported to 
Windows, Linux, and then MacOS.

On all platforms menus are implemented as selector buttons, buttons which 
provide the appearance and behavior of OS-provided menu objects.

And until the port to MacOS, all platforms behaved consistently.

So why the Mac change?

Mac is unique among popular GUI OSes in its use of a global menu bar, attached 
to the top of the display; other OSes place the menu bar attached to the top of 
the window.

Internally, LC menus are implemented as temporary dynamically-instantiated 
nameless stacks, which may seem counterintuitive until you realize that a menu 
is in essence a highly specialized form of window, a viewport independent of 
other windows with its own buffer, contents, and like all windows needs to use 
a common compositor for rendering them all together. (Indeed you can even use 
stacks as menus explicitly when you need a non-standard look, like a graphical 
picker, but that's another topic).

So the engine's method of using a subclass of the stack object for rendering 
menus worked well and consistently for a great many years - until the port to 
MacOS.

The Mac global menubar required a deep rethink on how menus are handled, not 
only in terms of detaching them from the window but also in terms of the 
nuances of display and interaction.

So Dr Raney special-cased menus on MacOS, so the engine uses OS routines to 
render those, fed by the menu button properties for things like the menu name 
as parameters to those OS routines. On every other platform you're interacting 
with a LiveCode object, but on Mac you're interacting with a system object into 
which the engine has inserted some hooks to tie it in with your scripting so 
you can at least know when an item has been selected.

This rewiring of properties and messages is no small feat, and has pervasive effects.  So from time 
to time you'll find Mac-specific things needed to conform to that platform like adding an 
"About" item to a menu that doesn't exist in your stack (the Mac's 
"Application" menu belongs to the OS).

It's not surprising that messages related to menu objects also have some 
inconsistencies along with everything else.

If we consider that on all other platforms the menu object we're interacting 
with is a button, and the menus that appear are a stack, the messaging you see 
with Windows and Linux is consistent with other button object messaging: once 
the mouse leaves the control the mouseLeave message is sent.

On Mac we have an exception to LC's normal button messaging because we're not 
interacting with an LC button at all, but with a system object, into which the 
engine devs have grafted just enough messaging to trigger actions from scripts.

I have no opinion on qualitative labels like "right" or "wrong" on this; that 
seems a matter of personal familiarity and taste. It may even be somewhat philosophical: is a menu 
a single thing that expands, or two things (menu and items) where one triggers the appearance of 
the other?

All I can do is help describe the under-the-hood parts to help makes sense of 
how the difference came about.



The Here-And-Now:

Whether or not we prefer it, the menu architecture is what it is, at least at 
the moment. Changing the behavior on all other platforms to be like Mac, or Mac 
to be like all other platforms, would be a scope of work that I'd guess the 
team would not be in a position to make a priority any time soon, even if they 
felt strongly about this one way or another.

They have a lot on their plates, and for all the questions we see regarding Mac-specific menu differences 
(like the auto-migration of the "About", "Help" and "Preferences" items to 
system menus separate from the menu objects where we're asked to put them), I can't recall seeing a message 
here before about mouseLeave.

I'm not saying it isn't important. It might well be. But observably this 
affects few; AFAIK this is the first such request in the 23 years I've been 
using this engine and participating in its communities. Just the same, let's 
roll up our sleeves and see what can be done:



Looking Forward:
---
E

Re: Tools & techniques for one-off consolidation of multiple 'similar' CSV files?

2022-04-04 Thread Ben Rubinstein via use-livecode

Hi Keith,

I feel your pain. I spend a lot of time doing this kind of manipulation.

I generally avoid CSV, the format of the devil. If necessary I have a library 
that does a reasonable job of converting CSV to TSV, and run everything 
through that. Let's just assume for now that you've already done this


My technique is this:

- given that you've got a routine to iterate over a folder or tree of files
- given that you can easily treat a row at a time, and on each row can easily 
work through a column at a time (e.g., this is TSV, you've set the 
itemdelimiter to tab)

- given that the first row in each file gives the column names

1. Maintain an ordered list of output column names

I'd probably keep it in two formats: a string with tab separated column names, 
 an array mapping column name to index, and a variable giving the number of 
columns.


2. For each file, go through the list of column names (the 'items' of the 
first row). For each one, if it's not already in the master list of column 
names (e.g., it's not in the array) then append it with a tab to the end of 
the string, and add it to the array with the appropriate index.


Also keep an array mapping column index in _this_ file to column index in the 
master file.


3. Then for each row after that, start with an empty array. For each non-empty 
item on the row, add it to this 'row array', with the key being the index in 
the master file corresponding to this item's index in this file.


4. When you've got to the end of the row, dump the data from this array; index 
from 1 to number-of-master-columns, adding a tab between each. Then add this 
to the master file accumulator.



So code would look something like this


local tMasterColumns -- tab delimited column names for output 'master' file
local aColumnNameToMasterIndex -- array mapping column name to index in above 
 local iNumMasterColumns -- number of items in the above two


local tMasterFileData -- will accumulate the rows of data for the output file

local aFileIndexToMasterIndex -- for each file, maps index of column in file 
to index in master file

local aRowData -- for each row, we first move data into this array...
local tOutRow -- ...then output it into this string

local iFileNumCols -- number of columns in the current input file

local iFileColInx, iMasterColInx -- keep track of input and output col indices


repeat for each file... load it into tFileData.. etc

  -- map the columns of this file to the (growing) columns of the masterfile
  put 0 into iFileColInx
  repeat for each item x in line 1 of tFileData
add 1 to iFileColInx
get aColumnNameToMasterIndex[x]
if it = empty then
   put tab & x after tMasterColumns
   add 1 to iNumMasterColumns
   put iNumMasterColumns into aColumnNameToMasterIndex[x]
   get iNumMasterColumns
end if
-- now it is the index of this column in the master file
put it into aFileIndexToMasterIndex[iFileColInx]
  end repeat
  delete line 1 of tFileData
  put iFileColInx into iFileNumCols

  repeat for each line tRowData in tFileData

-- get data from the row into the proper columns
put empty into aRowData
repeat with i = 1 to iFileNumCols -- number of columns in this file
  put aFileIndexToMasterIndex[i] into iMasterColInx
  put item i of tRowData into aRowData[iMasterColInx]
end repeat

-- now dump the row
put empty into tOutRow
repeat with i = 1 to iNumMasterColumns
  put aRowData[i] & tab after tOutRow
end repeat
put (char 1 to -2 of tOutRow) \ -- delete last tab
  & return after tMasterFileData

  end repeat

end repeat -- for each file

-- finally save tMasterColumns & return & tMasterFileData










On 04/04/2022 18:03, Keith Clarke via use-livecode wrote:

Hi folks,
I need to consolidate a couple of hundred CSV files of varying sizes (dozens to 
hundreds of rows) and column structures (some shared columns but many unique), 
into a single superset dataset that comprises all data from all files.

There are too many files and columns to attempt a manual process, so in I’ve 
been trying to achieve this with LiveCode - by iterating through the files to 
parse the column header rows into into row template and column mapping arrays 
used to build the combined table. However, I'm struggling to both compile the 
superset and render the results.

I feel I may be designing a very complicated solution for a problem that has 
probably been solved before. I wonder if I’m missing a simpler method - with 
LiveCode or perhaps with Excel or ‘drag & drop’ into some kind of 
self-organising database GUI for SQLite, etc?

Thanks in advance for any ideas.
Best,
Keith
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-live

Can't get jsonToArray in standalones ?

2022-04-04 Thread Ben Rubinstein via use-livecode

Building a standalone that uses jsonToArray.

Works fine in the IDE.

If I use "search for required inclusions" when building the standaline, then 
when the script calls jsonToArray it throws error 219 (Function: error in 
function handler).


If I use "select inclusions", and check "JSON Library", then it crashes.

Interestingly, if I *uncheck* "JSON Library" from the inclusions, then it also 
crashes! (I expected it would throw error 219.)


This is the same on LC 9.6.6 and 9.6.7; and (at least the crash) same on both 
Mac and Windows.


My best guess is that I need to have something else checked in the inclusions 
- any suggestions?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: revOpenDatabase over SSH tunnel?

2022-03-14 Thread Ben Rubinstein via use-livecode
I can't speak for most of the world, but in the past where we've directly 
connected to MySQL over the internet that's always been limited by IP (which 
as you doubtless know is built-in to the permissions system).


The difference for me in this case is that instead of talking to a dedicated 
server, we're accessing a shared managed database service - hence these 
additional measures make sense.



On 14/03/2022 17:30, Richard Gaskin via use-livecode wrote:

matthias wrote:

 > As more and more servers do not allow remote MySQL access due to
 > security restrictions...

It's almost like experienced hosting vendors and even the MySQL team itself 
are trying to tell us something...


How does most of the world outside of the LC community handle remote DB CRUD 
operations?




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


revOpenDatabase - ODBC - on Ubuntu - failing with empty error

2022-03-10 Thread Ben Rubinstein via use-livecode



Thanks to everyone who's responded to my woes over the last few days.

I'm making progress, but have hit a new hurdle.

I know have the LC-built app running in a Docker container on Ubuntu 18. It's 
set up with an ODBC connection to an Oracle database. I can test the 
connection on the command line with "isql", and it works fine.


But when the app tries to open the database, revOpenDatabase returns empty.

Normally it would return either an integer connection id, or an error message. 
But now it is just returning an empty string.


Is anyone else using ODBC on Linux? Any clues as to what I need to do, or 
where I could find a clue as to what the error is, since revOpenDatabase 
didn't return anything?


(Just for fun, I renamed the "dbodbc.so" driver in the 
Externals/database_drivers folder, and sure enough revOpenDatabase returned an 
error as I would expect, 'revdberr,invalid database type'.)


Any clues gratefully received,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: What version of Ubuntu does LiveCode (9.6.6) support?

2022-03-10 Thread Ben Rubinstein via use-livecode
To record an answer to my own question, for completeness: it appears that 
standalones built from LiveCode 9.6.6, at least, seems to work fine on Ubuntu 
18.04.2 LTS, at least. You may need to install some additional libraries.


Phew!

Ben

On 10/03/2022 15:29, Ben Rubinstein via use-livecode wrote:


Just read the release notes (for 9.6.6, but also for 10.0.0.dp2) which say

LiveCode supports the following Linux distributions, on 32-bit or 64-bit 
Intel/AMD or compatible processors:

Ubuntu 14.04 and 16.04
Fedora 23 & 24
Debian 7 (Wheezy) and 8 (Jessie) [server] CentOS 7 [server]


Is that correct - i.e. Ubuntu 18 is NOT supported? Might this be my problem 
with "libexpat.so.1"?


(I question it only because the 9.6.6 version of the User Guide says

The minimal requirements for LiveCode to run on Linux are:
 32-bit installation, or a 64-bit linux distribution that has a 32-bit 
compatibility layer

 2.4.x or later kernel

which is clearly out of date.)

Is anyone running LiveCode, or at least standalones built from LiveCode, on 
Ubuntu 18? Or is that my problem?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: revOpenDatabase over SSH tunnel?

2022-03-10 Thread Ben Rubinstein via use-livecode
Yes, my case is that the database is on a hosted platform which only supports 
access over SSH.


My reading of your document, Matthias, is that we simply invoke SSH in a 
terminal, and then LiveCode/revOpenDatabase uses that tunnel automatically 
because the database host is at the same address. Can that be right? Or does 
this only work with LiveCode server?


Ben

On 10/03/2022 16:42, matthias rebbe via use-livecode wrote:

There is nothing wrong with your method. But there might be situations where 
you need direct access to the MySQL database, e.g. you are using 3rd party 
software (in my case SQLPro Studio) or libraries. I have a customer who is 
using a special Delphi library that only supports direct connections.

Okay that is not the case when using Livecode. But there might be servers that 
do not run Livecode Server. In this case you cannot use your solution.
In this case SSH tunneling would be a safe solution.




Am 10.03.2022 um 17:14 schrieb Bob Sneidar via use-livecode 
:

I am not sure what SSH tunneling is, but I did a proof of concept where I had an LC 
client app communicating with an LC server app that encrypted the data at the client end 
before sending it, and the server end decrypted it. I just used non-secured sockets. I 
used AES encryption with a key only I know, and a method for corrupting the data in a way 
only the server can "cleanse".

I suppose some may advise me on what is wrong with this method, and I welcome the input, 
but it worked for me. No unencrypted data went "over the wire".

The reason I developed this method is because I do not want to deal with 
expiring security certificates or secure websites to handle the data transfer. 
The method works out of the box.

Bob S



On Mar 10, 2022, at 03:34 , Ben Rubinstein via use-livecode 
 wrote:


I need to access a (MySQL) database on a remote service - which has to be done 
over an SSH tunnel.

Has anyone done this in LiveCode? Is it trivial/possible/impossible?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: revOpenDatabase over SSH tunnel?

2022-03-10 Thread Ben Rubinstein via use-livecode

Great, thank you.

Ben

On 10/03/2022 16:07, matthias rebbe via use-livecode wrote:

Ben,
i've sent it to you.

If there are questions regarding macOS, just ask. I will post a link to the 
updated english version here in the list.

Regards,
Matthias



Am 10.03.2022 um 16:52 schrieb Ben Rubinstein via use-livecode 
:

Hi Matthias,

That is (a) good news and (b) very kind!

Or if it's easier, I have a German colleague - less technical skills, but 
excellent language skills - if you sent me the guide in German, I could ask her 
to have a go at translating it. (I'd still be very interested in the macOS 
additional info though.)

Many thanks,

Ben


On 10/03/2022 15:31, matthias rebbe via use-livecode wrote:

Hi,
I've used SSH tunneling in the past to connect SQLPro Studio with remote MySQL 
databases, but never with LC.
And although i was pretty sure that it will work with LC, i just did a quick 
test with LC to be 100 percent sure.
Yes it's possible.
I have created a small quick start guide for Windows some weeks ago, but 
unfortunately that is in German.
I could translate that to English and add some additional information for 
macOS. But it would take 1 or 2 days.
If you could wait i could send you that guide.
Regards,
Matthias

Am 10.03.2022 um 12:34 schrieb Ben Rubinstein via use-livecode 
:


I need to access a (MySQL) database on a remote service - which has to be done 
over an SSH tunnel.

Has anyone done this in LiveCode? Is it trivial/possible/impossible?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Trying to run standalone (headless) on Linux (Ubuntu) - failed at first hurdle

2022-03-10 Thread Ben Rubinstein via use-livecode

Thanks Panos, that gave me the clues I needed to get the other ones as well.

Can confirm the app is now running on Ubuntu 18.04.2 LTS.

Thanks again,

Ben

On 10/03/2022 16:03, panagiotis m via use-livecode wrote:

Hello Ben,

For libfreetype, I think you should do:

sudo apt-get install libfreetype6-dev

Also, yes, the "official" supported Ubuntu distros for LC are 14 and 16
LTS. However, LC standalones built from 9.6.6 should run on Ubuntu 18 and
above as well.

Tomorrow I'll try to set up an Ubuntu 18 VM and give it a try.

Kind regards,
Panos
--

On Thu, 10 Mar 2022 at 17:51, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Thanks Panos.

I'd just got part of the way there from your comment on this
https://quality.livecode.com/show_bug.cgi?id=23163 report.

(I'm a complete Linux noob.)

So now I know about 'ldd' I was able to execute:

# ldd CB304
   linux-vdso.so.1 (0x7ffed1b36000)
   libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7f2e7fa49000)
   libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0

(0x7f2e7f82a000)

   libexpat.so.1 => not found
   libfreetype.so.6 => not found
   libfontconfig.so.1 => not found
   libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6

(0x7f2e7f4a1000)

   libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7f2e7f103000)
   libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1

(0x7f2e7eeeb000)

   libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f2e7eafa000)
   /lib64/ld-linux-x86-64.so.2 (0x7f2e7fc4d000)


I was able to use apt to install "expat" and "fontconfig", but it couldn't
find "freetype".

Nonetheless I thought I'd try my app again, hoping at least that the error
have moved on. But alas:


# ./CB304 -ui
./CB304: error while loading shared libraries: libexpat.so.1: cannot

open shared object file: No such file or directory


Also - can you confirm whether LC standalones (built from 9.6.6) should be
able to run on Ubuntu 18? Or is Ubuntu 16 the limit?

Many thanks,

Ben

On 10/03/2022 15:32, panagiotis m via use-livecode wrote:

Hello all,

I think libexpat.so.1 is a system lib required by LC apps, so it might be
worth installing it.

I have not done any research, but I would expect that it would be enough

to

do something like:

sudo apt-get install expat

or

sudo apt-get install libexpat

Kind regards,
Panos


On Thu, 10 Mar 2022 at 17:15, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi Stephen,

Built on Mac. I didn't zip it because I've got a folder shared with the
Docker
container, so I just dragged it in.

But sensing something behind your question... I just zipped up the
original
build folder, dragged that in, and then in the shell unzipped it,

invoked

that
binary... same result.

Thanks anyway!

Ben

On 10/03/2022 14:56, Stephen Barncard via use-livecode wrote:

Hi Ben,
Did you make the standalone on mac or win and  zip the file before
uploading ?
--
Stephen Barncard - Sebastopol Ca. USA -
mixstream.org


On Thu, Mar 10, 2022 at 6:50 AM Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:



I'm trying to develop an app which will run headless on Linux

(actually

in

a
docker container). I've done this before... so long ago that I can't
remember... with an earlier version of this app. Normally I run this

on

Mac
and Windows.

So (under LiveCode 9.6.6) I simply checked the Linux 64 option in the
Standalone builder, built the app, transported the folder with the

binary

"MyApp", "Externals" folder, and "revsecurity.so" to the Docker

container,

and
tried to launch it:


# ./MyApp -ui
./MyApp: error while loading shared libraries: libexpat.so.1: cannot

open shared object file: No such file or directory

Can anyone point me in the right direction here? Does this mean that I
need to
do something different in how I build the app, or install something
different
in the environment?

(The container is running Ubuntu 18.04.2 LTS).

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your

subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



Re: revOpenDatabase over SSH tunnel?

2022-03-10 Thread Ben Rubinstein via use-livecode

Hi Matthias,

That is (a) good news and (b) very kind!

Or if it's easier, I have a German colleague - less technical skills, but 
excellent language skills - if you sent me the guide in German, I could ask 
her to have a go at translating it. (I'd still be very interested in the macOS 
additional info though.)


Many thanks,

Ben


On 10/03/2022 15:31, matthias rebbe via use-livecode wrote:

Hi,

I've used SSH tunneling in the past to connect SQLPro Studio with remote MySQL 
databases, but never with LC.

And although i was pretty sure that it will work with LC, i just did a quick 
test with LC to be 100 percent sure.

Yes it's possible.

I have created a small quick start guide for Windows some weeks ago, but 
unfortunately that is in German.

I could translate that to English and add some additional information for 
macOS. But it would take 1 or 2 days.

If you could wait i could send you that guide.

Regards,

Matthias


Am 10.03.2022 um 12:34 schrieb Ben Rubinstein via use-livecode 
:


I need to access a (MySQL) database on a remote service - which has to be done 
over an SSH tunnel.

Has anyone done this in LiveCode? Is it trivial/possible/impossible?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Trying to run standalone (headless) on Linux (Ubuntu) - failed at first hurdle

2022-03-10 Thread Ben Rubinstein via use-livecode

Thanks Panos.

I'd just got part of the way there from your comment on this 
https://quality.livecode.com/show_bug.cgi?id=23163 report.


(I'm a complete Linux noob.)

So now I know about 'ldd' I was able to execute:
# ldd CB304 
	linux-vdso.so.1 (0x7ffed1b36000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7f2e7fa49000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x7f2e7f82a000)
libexpat.so.1 => not found
libfreetype.so.6 => not found
libfontconfig.so.1 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 
(0x7f2e7f4a1000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7f2e7f103000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 
(0x7f2e7eeeb000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f2e7eafa000)
/lib64/ld-linux-x86-64.so.2 (0x7f2e7fc4d000)


I was able to use apt to install "expat" and "fontconfig", but it couldn't 
find "freetype".


Nonetheless I thought I'd try my app again, hoping at least that the error 
have moved on. But alas:



# ./CB304 -ui
./CB304: error while loading shared libraries: libexpat.so.1: cannot open 
shared object file: No such file or directory



Also - can you confirm whether LC standalones (built from 9.6.6) should be 
able to run on Ubuntu 18? Or is Ubuntu 16 the limit?


Many thanks,

Ben

On 10/03/2022 15:32, panagiotis m via use-livecode wrote:

Hello all,

I think libexpat.so.1 is a system lib required by LC apps, so it might be
worth installing it.

I have not done any research, but I would expect that it would be enough to
do something like:

sudo apt-get install expat

or

sudo apt-get install libexpat

Kind regards,
Panos


On Thu, 10 Mar 2022 at 17:15, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi Stephen,

Built on Mac. I didn't zip it because I've got a folder shared with the
Docker
container, so I just dragged it in.

But sensing something behind your question... I just zipped up the
original
build folder, dragged that in, and then in the shell unzipped it, invoked
that
binary... same result.

Thanks anyway!

Ben

On 10/03/2022 14:56, Stephen Barncard via use-livecode wrote:

Hi Ben,
Did you make the standalone on mac or win and  zip the file before
uploading ?
--
Stephen Barncard - Sebastopol Ca. USA -
mixstream.org


On Thu, Mar 10, 2022 at 6:50 AM Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:



I'm trying to develop an app which will run headless on Linux (actually

in

a
docker container). I've done this before... so long ago that I can't
remember... with an earlier version of this app. Normally I run this on
Mac
and Windows.

So (under LiveCode 9.6.6) I simply checked the Linux 64 option in the
Standalone builder, built the app, transported the folder with the

binary

"MyApp", "Externals" folder, and "revsecurity.so" to the Docker

container,

and
tried to launch it:


# ./MyApp -ui
./MyApp: error while loading shared libraries: libexpat.so.1: cannot

open shared object file: No such file or directory

Can anyone point me in the right direction here? Does this mean that I
need to
do something different in how I build the app, or install something
different
in the environment?

(The container is running Ubuntu 18.04.2 LTS).

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your

subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


What version of Ubuntu does LiveCode (9.6.6) support?

2022-03-10 Thread Ben Rubinstein via use-livecode



Just read the release notes (for 9.6.6, but also for 10.0.0.dp2) which say


LiveCode supports the following Linux distributions, on 32-bit or 64-bit 
Intel/AMD or compatible processors:
Ubuntu 14.04 and 16.04
Fedora 23 & 24
Debian 7 (Wheezy) and 8 (Jessie) [server] CentOS 7 [server]


Is that correct - i.e. Ubuntu 18 is NOT supported? Might this be my problem 
with "libexpat.so.1"?


(I question it only because the 9.6.6 version of the User Guide says

The minimal requirements for LiveCode to run on Linux are:
 32-bit installation, or a 64-bit linux distribution that has a 32-bit 
compatibility layer
 2.4.x or later kernel

which is clearly out of date.)

Is anyone running LiveCode, or at least standalones built from LiveCode, on 
Ubuntu 18? Or is that my problem?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Trying to run standalone (headless) on Linux (Ubuntu) - failed at first hurdle

2022-03-10 Thread Ben Rubinstein via use-livecode

Hi Stephen,

Built on Mac. I didn't zip it because I've got a folder shared with the Docker 
container, so I just dragged it in.


But sensing something behind your question... I just zipped up the original 
build folder, dragged that in, and then in the shell unzipped it, invoked that 
binary... same result.


Thanks anyway!

Ben

On 10/03/2022 14:56, Stephen Barncard via use-livecode wrote:

Hi Ben,
Did you make the standalone on mac or win and  zip the file before
uploading ?
--
Stephen Barncard - Sebastopol Ca. USA -
mixstream.org


On Thu, Mar 10, 2022 at 6:50 AM Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:



I'm trying to develop an app which will run headless on Linux (actually in
a
docker container). I've done this before... so long ago that I can't
remember... with an earlier version of this app. Normally I run this on
Mac
and Windows.

So (under LiveCode 9.6.6) I simply checked the Linux 64 option in the
Standalone builder, built the app, transported the folder with the binary
"MyApp", "Externals" folder, and "revsecurity.so" to the Docker container,
and
tried to launch it:


# ./MyApp -ui
./MyApp: error while loading shared libraries: libexpat.so.1: cannot

open shared object file: No such file or directory

Can anyone point me in the right direction here? Does this mean that I
need to
do something different in how I build the app, or install something
different
in the environment?

(The container is running Ubuntu 18.04.2 LTS).

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Trying to run standalone (headless) on Linux (Ubuntu) - failed at first hurdle

2022-03-10 Thread Ben Rubinstein via use-livecode



I'm trying to develop an app which will run headless on Linux (actually in a 
docker container). I've done this before... so long ago that I can't 
remember... with an earlier version of this app. Normally I run this on Mac 
and Windows.


So (under LiveCode 9.6.6) I simply checked the Linux 64 option in the 
Standalone builder, built the app, transported the folder with the binary 
"MyApp", "Externals" folder, and "revsecurity.so" to the Docker container, and 
tried to launch it:



# ./MyApp -ui
./MyApp: error while loading shared libraries: libexpat.so.1: cannot open 
shared object file: No such file or directory


Can anyone point me in the right direction here? Does this mean that I need to 
do something different in how I build the app, or install something different 
in the environment?


(The container is running Ubuntu 18.04.2 LTS).

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


revOpenDatabase over SSH tunnel?

2022-03-10 Thread Ben Rubinstein via use-livecode



I need to access a (MySQL) database on a remote service - which has to be done 
over an SSH tunnel.


Has anyone done this in LiveCode? Is it trivial/possible/impossible?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Have we lost the Oracle driver?

2022-03-03 Thread Ben Rubinstein via use-livecode

Hi Panos,

Alas, that's made no difference.

Does this error message "revdberr,invalid database type" actually indicate a 
failure to load the driver, or can it also occur if the driver was loaded but 
there were issues initialising it, or some other issues connecting to the 
given server and database?


Is there any other detail of errors available anywhere (I looked at the 
Console but there is just a continual tide of reports in that, so I couldn't 
spot anything)?


Thanks again,

Ben

On 03/03/2022 16:23, panagiotis m via use-livecode wrote:

Hello Ben,

I _think_ you just have to create a symlink to this version of the
libclntsh:

1. Open a Terminal
2. Navigate to the instant client directory, e.g. suppose it is in your
Downloads:

cd ~/Downloads/instantclient_11_2

3. Create the symlink:

ln -s libclntsh.dylib.11.1 libclntsh.dylib

Kind regards,
Panos
--

On Thu, 3 Mar 2022 at 15:25, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi Panos,

LiveCode 9.6.6 on macOS 10.15.7 (Catalina).

I've downloaded the Oracle stuff but it doesn't seem to have an install
script
- where should I put "libclntsh.dylib.11.1"?

thanks for your help,

Ben

On 02/03/2022 12:58, panagiotis m via use-livecode wrote:

Hello Ben,

I take it you are on MacOS? Which MacOS version, and which LiveCode

version

are you using?

Could it be the case you haven't got the right version of Oracle Instant
Client installed? You need libclntsh.dylib.11.1, found here:



https://download.oracle.com/otn/mac/instantclient/11204/instantclient-basic-macos.x64-11.2.0.4.0.zip


Kind regards,
Panos
--

On Tue, 1 Mar 2022 at 19:46, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi Mark,

Thanks for responding. Indeed 'the revLicenseInfo` returned
"...commercial".
After re-licensing, it now says "...professional" - however, I still

can't

open a connection to an Oracle database.

Re-licensing *did* make a difference: whereas previously it broke into

the

debugger, and (sometimes) displayed the error
   > execution error at line n/a (External handler execution error:
revdberr,driver not licensed for this edition)

now revOpenDatabase simply returns
   > revdberr,invalid database type

So I guess it's not a licensing issue any more, which is good; but I

still

can't get at the database! Can you suggest where my next issue might be?

Many thanks,

Ben

On 01/03/2022 16:08, Mark Waddingham via use-livecode wrote:

On 2022-03-01 15:51, Ben Rubinstein via use-livecode wrote:

Hi Matthias,

Good spot! Thanks for checking.

I wonder whether this is an accidental omission, in that Oracle was at
one time only available at a certain higher level of license; maybe
now that there is only level, perhaps someone forgot to tweak whatever
bit of code checked that the 'correct' license was in place?


All business-only features were moved to be part of the pro features

pack -

the oracle driver included.

If it isn't working in your current version of LC, check that the

license you

have licensed LC with does have the pro features pack in it...

If you do `put the revLicenseInfo` it should say professional, rather

than

commercial.

If it doesn't say professional, Relicense your IDE using the menu item

in Help

and flick through the licenses you have available until one says 'pro'

in the

title.

If the revLicenseInfo does say professional then something odd has

happened

somewhere which will need to look into more deeply!

Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your

subscription preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Have we lost the Oracle driver?

2022-03-03 Thread Ben Rubinstein via use-livecode

Hi Panos,

LiveCode 9.6.6 on macOS 10.15.7 (Catalina).

I've downloaded the Oracle stuff but it doesn't seem to have an install script 
- where should I put "libclntsh.dylib.11.1"?


thanks for your help,

Ben

On 02/03/2022 12:58, panagiotis m via use-livecode wrote:

Hello Ben,

I take it you are on MacOS? Which MacOS version, and which LiveCode version
are you using?

Could it be the case you haven't got the right version of Oracle Instant
Client installed? You need libclntsh.dylib.11.1, found here:

https://download.oracle.com/otn/mac/instantclient/11204/instantclient-basic-macos.x64-11.2.0.4.0.zip

Kind regards,
Panos
--

On Tue, 1 Mar 2022 at 19:46, Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi Mark,

Thanks for responding. Indeed 'the revLicenseInfo` returned
"...commercial".
After re-licensing, it now says "...professional" - however, I still can't
open a connection to an Oracle database.

Re-licensing *did* make a difference: whereas previously it broke into the
debugger, and (sometimes) displayed the error
  > execution error at line n/a (External handler execution error:
revdberr,driver not licensed for this edition)

now revOpenDatabase simply returns
  > revdberr,invalid database type

So I guess it's not a licensing issue any more, which is good; but I still
can't get at the database! Can you suggest where my next issue might be?

Many thanks,

Ben

On 01/03/2022 16:08, Mark Waddingham via use-livecode wrote:

On 2022-03-01 15:51, Ben Rubinstein via use-livecode wrote:

Hi Matthias,

Good spot! Thanks for checking.

I wonder whether this is an accidental omission, in that Oracle was at
one time only available at a certain higher level of license; maybe
now that there is only level, perhaps someone forgot to tweak whatever
bit of code checked that the 'correct' license was in place?


All business-only features were moved to be part of the pro features

pack -

the oracle driver included.

If it isn't working in your current version of LC, check that the

license you

have licensed LC with does have the pro features pack in it...

If you do `put the revLicenseInfo` it should say professional, rather

than

commercial.

If it doesn't say professional, Relicense your IDE using the menu item

in Help

and flick through the licenses you have available until one says 'pro'

in the

title.

If the revLicenseInfo does say professional then something odd has

happened

somewhere which will need to look into more deeply!

Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Have we lost the Oracle driver?

2022-03-01 Thread Ben Rubinstein via use-livecode

Hi Mark,

Thanks for responding. Indeed 'the revLicenseInfo` returned "...commercial". 
After re-licensing, it now says "...professional" - however, I still can't 
open a connection to an Oracle database.


Re-licensing *did* make a difference: whereas previously it broke into the 
debugger, and (sometimes) displayed the error
> execution error at line n/a (External handler execution error: 
revdberr,driver not licensed for this edition)


now revOpenDatabase simply returns
> revdberr,invalid database type

So I guess it's not a licensing issue any more, which is good; but I still 
can't get at the database! Can you suggest where my next issue might be?


Many thanks,

Ben

On 01/03/2022 16:08, Mark Waddingham via use-livecode wrote:

On 2022-03-01 15:51, Ben Rubinstein via use-livecode wrote:

Hi Matthias,

Good spot! Thanks for checking.

I wonder whether this is an accidental omission, in that Oracle was at
one time only available at a certain higher level of license; maybe
now that there is only level, perhaps someone forgot to tweak whatever
bit of code checked that the 'correct' license was in place?


All business-only features were moved to be part of the pro features pack - 
the oracle driver included.


If it isn't working in your current version of LC, check that the license you 
have licensed LC with does have the pro features pack in it...


If you do `put the revLicenseInfo` it should say professional, rather than 
commercial.


If it doesn't say professional, Relicense your IDE using the menu item in Help 
and flick through the licenses you have available until one says 'pro' in the 
title.


If the revLicenseInfo does say professional then something odd has happened 
somewhere which will need to look into more deeply!


Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Have we lost the Oracle driver?

2022-03-01 Thread Ben Rubinstein via use-livecode

Hi Matthias,

Good spot! Thanks for checking.

I wonder whether this is an accidental omission, in that Oracle was at one 
time only available at a certain higher level of license; maybe now that there 
is only level, perhaps someone forgot to tweak whatever bit of code checked 
that the 'correct' license was in place?


Panos can you comment?

Many thanks,

Ben

On 01/03/2022 15:33, matthias rebbe via use-livecode wrote:

I just had a quick look at the LC externals/database  and the 
runtime/externals/database folders. There are still dboracle... files in it.
So at least the drivers are there.


Matthias



Am 01.03.2022 um 16:24 schrieb Ben Rubinstein via use-livecode 
:

A long time ago I used to access Oracle directly from a LiveCode app.

For some years now I've only done this via ODBC, though I don't recall why that 
changed.

The Dictionary entry for revOpenDatabase lists five variants ("mysql", "odbc",  "sqlite", 
"postgresql", "oracle"); but the User Guide (p. 303) lists three plus ODBC.

Now I'm trying to access an Oracle database directly again (in the IDE), and 
when my code hits
revOpenData("oracle", )

it breaks into the debugger as if there was a breakpoint on that statement - there isn't; it 
switches to but the "Errors" tab says "No errors found".

However after 'stepping', it halts altogether and the errors tab says

execution error at line n/a (External handler execution error: 
revdberr,driver not licensed for this edition)

As I understand it there is now only one edition (with a buffet of deployment platforms), the 
Standard Plan, and my account says that I have a "LiveCode Professional" license (I admit 
that I am thoroughly confused about plans, licenses etc). Oracle isn't mentioned in the "Pro 
Feature Pack" either.

Is Oracle supported? If so what do I need to do to access that?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Have we lost the Oracle driver?

2022-03-01 Thread Ben Rubinstein via use-livecode

A long time ago I used to access Oracle directly from a LiveCode app.

For some years now I've only done this via ODBC, though I don't recall why 
that changed.


The Dictionary entry for revOpenDatabase lists five variants ("mysql", "odbc", 
 "sqlite", "postgresql", "oracle"); but the User Guide (p. 303) lists three 
plus ODBC.


Now I'm trying to access an Oracle database directly again (in the IDE), and 
when my code hits

revOpenData("oracle", )

it breaks into the debugger as if there was a breakpoint on that statement - 
there isn't; it switches to but the "Errors" tab says "No errors found".


However after 'stepping', it halts altogether and the errors tab says

	execution error at line n/a (External handler execution error: 
revdberr,driver not licensed for this edition)


As I understand it there is now only one edition (with a buffet of deployment 
platforms), the Standard Plan, and my account says that I have a "LiveCode 
Professional" license (I admit that I am thoroughly confused about plans, 
licenses etc). Oracle isn't mentioned in the "Pro Feature Pack" either.


Is Oracle supported? If so what do I need to do to access that?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Extracting Unicode text from Oracle over ODBC

2022-03-01 Thread Ben Rubinstein via use-livecode

Hi Jacque

Thanks for replying, but unfortunately these aren't relevant - the binary data 
is coming through fine, but it seems that something upstream has dumbed it down.


Anyone else have any experience with this?

TIA,

Ben

On 28/02/2022 20:04, J. Landman Gay via use-livecode wrote:
With the caveat that I know nothing about it, the normalize and formSensitive 
functions sound related.


On 2/28/22 11:50 AM, Ben Rubinstein via use-livecode wrote:
I'm trying to extract text from an Oracle database, via ODBC, on Windows. 
(Using the 64 bit "Oracle in instantclient_19_5".)


Generally fine, except that where the text contains Unicode characters 
beyond the Windows Latin1/CP512 character set, I'm not getting them.


I'm not getting random garbage; I'm getting a sensible transliteration, e.g. 
"n" for "ň" (n-caron). So this isn't simply getting the bytes and 
misinterpreting them.


Per 
https://community.oracle.com/tech/apps-infra/discussion/2424496/issue-with-character-set-conversion-using-oracle-odbc-client, 




The conversion for the ODBC driver is performed by OCI to/from UTF-16 and
it is independent of the NLS_LANG character set. If the C++ application is
written in the ANSI mode (does not use wide character data types),
Microsoft ODBC Manager will convert between the application and the Oracle
ODBC driver, between system code page (Cp 1252) and UTF-16.


The ODBC driver has a checkbox "Force SQL_WCHAR Support". I've tried both 
settings of this checkbox. Depending on the setting, I have to take a 
different approach to retrieving the data in order not to get garbage 
(passing a variable name to revDatabaseColumnNumbered and then using 
uniDecode). But when I don't get garbage, I also don't get the characters 
with diacritics - but I do get the correct character.


Does anyone have experience of this? Do I need to modify the SQL Select 
statement in some way to get the correct version of the data?


TIA,

Ben


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode





___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Extracting Unicode text from Oracle over ODBC

2022-02-28 Thread Ben Rubinstein via use-livecode
I'm trying to extract text from an Oracle database, via ODBC, on Windows. 
(Using the 64 bit "Oracle in instantclient_19_5".)


Generally fine, except that where the text contains Unicode characters beyond 
the Windows Latin1/CP512 character set, I'm not getting them.


I'm not getting random garbage; I'm getting a sensible transliteration, e.g. 
"n" for "ň" (n-caron). So this isn't simply getting the bytes and 
misinterpreting them.


Per 
https://community.oracle.com/tech/apps-infra/discussion/2424496/issue-with-character-set-conversion-using-oracle-odbc-client, 




The conversion for the ODBC driver is performed by OCI to/from UTF-16 and
it is independent of the NLS_LANG character set. If the C++ application is
written in the ANSI mode (does not use wide character data types),
Microsoft ODBC Manager will convert between the application and the Oracle
ODBC driver, between system code page (Cp 1252) and UTF-16.


The ODBC driver has a checkbox "Force SQL_WCHAR Support". I've tried both 
settings of this checkbox. Depending on the setting, I have to take a 
different approach to retrieving the data in order not to get garbage (passing 
a variable name to revDatabaseColumnNumbered and then using uniDecode). But 
when I don't get garbage, I also don't get the characters with diacritics - 
but I do get the correct character.


Does anyone have experience of this? Do I need to modify the SQL Select 
statement in some way to get the correct version of the data?


TIA,

Ben


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: MobileVibrate

2022-02-27 Thread Ben Rubinstein via use-livecode



Hi Jacque,

On 27/02/2022 21:00, J. Landman Gay via use-livecode wrote:
I didn't see an inclusion for it, so either I missed it or we don't need one. 
(It would sure help if we could search for inclusions in that long list.)


According to this
https://quality.livecode.com/show_bug.cgi?id=18199

which you, me, and Mike Kerner have all commented on: Ali LLoyd apparently 
submitted a PR to improve this situation, which has been awaiting a merge for 
over four years??


It looks great in the gif here:
https://github.com/livecode/livecode-ide/pull/1809

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: [ANN] Release 9.6.6 RC-1

2021-12-21 Thread Ben Rubinstein via use-livecode

Christmas is a time of gifts indeed!

Thanks to everyone at LiveCode for all your hard work.

best wishes,

Ben

On 21/12/2021 14:44, panagiotis merakos via use-livecode wrote:

Dear list members,

We are pleased to announce the release of LiveCode 9.6.6 RC-1.


Getting the Release
===
You can find the release in your LiveCode account area or get it via the
automatic updater. To find the 9.6.6 RC-1 test release in your LiveCode
account, please scroll down to below the list of stable releases, to find
your available test releases.

Release Contents

LiveCode 9.6.6 RC-1 comes with several changes, including fixes for lots of
the bugs you requested in the recent survey:

New Features:
- iOS device safe area insets function
An iphoneSafeAreaInsets function has been added to enable getting the safe
area insets of the device the app is running on. These can be used to
adjust your app's user interface elements to avoid areas that are covered
by device furniture, e.g. the notch.

- Android adaptive icons
It is now possible to configure your Android apps to use adaptive icons.
To use adaptive icons, generate them using the Image Asset Editor in
Android Studio and
then choose the resulting res folder in the android standalone settings
pane.

- Android app query whitelist
Support has been added for specifying which other apps can be interacted
with via the intent and other (custom) URL schemes.
Since Android 11, by default, an app cannot interact with any others due to
changes to package visibility. You must now specify which apps you need
access to by adding their ids to the App ID Query Whitelist field in the
Android standalone settings.


Bug Fixes:
- Opening HyperCard stacks will no longer cause a crash
- Support for the system date and the system time has been added on Android
- A stack's rect will no longer become out of sync with its actual position
after being moved in the IDE on macOS
- A wider range of TrueType font files will now work on Android and Web
- Use of the term Tutorials have been replaced by the term Lessons
throughout the IDE
- When a runtime error occurs in a context where the script debugger cannot
run, the error dialog will be displayed rather
than failing silently
- Conversions between global and local co-ordinates are now correct on
multi-screen macOS systems.
- The welcome tutorial can now be started on first run via the Start
Interative Welcome button in the start center
- Starting a new tutorial will now close the previous tutorial's stack, if
present
- The performance of the script editor while typing has been improved
- Downloading large amounts of data using tsNet on Windows is now
substantially faster
- Invalid PDFs will no longer be generated when using the open printing to
PDF command on Windows using the 64-bit engine
- Script debugging will no longer fail to work intermittently when running
the IDE with pro features
- Scripts which run without locking the screen are no longer slower on
macOS Big Sur and later
- The drawing library now correctly handle gradients which are referred to
using an id containing - or _
- Key events will now work correctly after a modal dialog is shown from a
mouseUp handler in a grouped control
- The iphoneDeviceModel function now returns the correct model string when
run on an iOS/iPadOS simulator.
- Default buttons and progress bars will no longer cause unnecessary CPU
usage on macOS 10.10 (Yosemite) or later
- The byteOffset function will no longer cause incorrect results in some
cases nor cause a crash
- Scripts containing accented characters will no longer incorrectly report
being externally modified
- Using the print link command when printing to PDF on Windows no longer
causes a crash
- The copyright notices in the engine app bundle (macOS) and exe (Windows)
have been updated
- A significant memory leak in the browser widget on macOS has been
resolved
- POST data larger than 64kb is now parsed correctly by the Windows server
engine
- Audio-only players no longer consume excessive CPU when in Edit Mode on
macOS Big Sur
- WebGL content now displays in the browser widget when running on macOS
12.x (Monterey)
- The union (and other set operation) commands now throw an error if there
is no into clause and the target is not a declared variable
- Building iOS apps using Xcode 13.2 with the iOS 15.2 SDK is now supported
- Local file and content access has been re-enabled in the browser widget
and native control on Android
- Touch events now occur at the correct location when handled by objects
underneath a disabled Android scroller
- SVG elements with a stroke-width of 0 are no longer drawn with a hairline
stroke
- There is no longer a delay when opening the IDE menus on macOS
- Selecting a specific browser to test a web project against now works
correctly
- The overhead of using "do .." to evaluate long JavaScript scripts in the
browser widget on Android has been greatly reduced

For the full list of all fixes, updates 

Re: regex backreferences

2021-12-17 Thread Ben Rubinstein via use-livecode

Hi Kaveh,

Thanks, but actually it wasn't me who made the original report - that was Bart 
Voorzanger. And you added a useful comment to it 18 months ago, before I found it!


best,

Ben


On 17/12/2021 11:41, Kaveh wrote:
Great to know this is already in the wish list, Ben and thanks for adding it. 
Anything we can do to support this request and expedite it?


On Fri, 17 Dec 2021 at 11:35, Ben Rubinstein via use-livecode 
mailto:use-livecode@lists.runrev.com>> wrote:



On 15/12/2021 03:41, J. Landman Gay via use-livecode wrote:
 > If there isn't a feature request for it, there should be.

https://quality.livecode.com/show_bug.cgi?id=21534
<https://quality.livecode.com/show_bug.cgi?id=21534>

___
use-livecode mailing list
use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
<http://lists.runrev.com/mailman/listinfo/use-livecode>



--
Kaveh Bazargan PhD
Director
River Valley Technologies <http://rivervalley.io> ● Twitter 
<https://twitter.com/rivervalley1000> ● LinkedIn 
<https://www.linkedin.com/in/bazargankaveh/>● ORCID 
<https://orcid.org/-0002-1414-9098>

*Accelerating the Communication of Research*


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: regex backreferences

2021-12-17 Thread Ben Rubinstein via use-livecode



On 15/12/2021 03:41, J. Landman Gay via use-livecode wrote:

If there isn't a feature request for it, there should be.


https://quality.livecode.com/show_bug.cgi?id=21534

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


OT Re: Record audio on Mac

2021-12-10 Thread Ben Rubinstein via use-livecode

Marc, we can tell you're not in the UK.

Right now, the phrase that "I have been assured" has quite low credibility on 
this side of the Atlantic!


Ben

On 10/12/2021 14:14, Marc Siskin via use-livecode wrote:

I have been reasonably assured that in LC 10 there will be a simplified/unified 
way to record audio and/or video on most platforms.  This has been in progress 
for several years.


I am looking forward to this returned functionality.


Marc Siskin

Learning Engineer, Carnegie Mellon University

Modern Language Resource Center


From: use-livecode  on behalf of panagiotis m 
via use-livecode 
Sent: Friday, December 10, 2021 9:03:56 AM
To: How to use LiveCode
Cc: panagiotis m
Subject: Re: Record audio on Mac

Hello Klaus,

You can use the camera control:

cameraControlDo tCamera, "startRecording", 

Cheers,
Panos
--

On Fri, 10 Dec 2021 at 15:02, Klaus major-k via use-livecode <
use-livecode@lists.runrev.com> wrote:


Hi all,

There is an entry in the dictionary -> record sound...
But that obviously relies on Quicktime.

And then there is this in the "Release Notes":
...
64-bit standalones for Mac OS X do not have support for audio recording.
...

Does that mean we do not have a way to record a sound with LC?
If yes, oh my :-/

Thanks for any hint!


Best

Klaus
--
Klaus Major
https://www.major-k.de
https://www.major-k.de/bass
kl...@major-k.de


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: How to restrain impatient tsNet?

2021-11-09 Thread Ben Rubinstein via use-livecode

Thanks Ralph.

tsNetSetTimeouts sorted me out, Mark was too polite to say RTFM... I really 
thought I had!


Ben

On 08/11/2021 17:44, Ralph DiMola via use-livecode wrote:

Ben,

One more thing. Function GetNetworkType below will return the network type. The 
handler NetworkType will report the status and version.

command NetworkType

if GetNetworkType() = "Sockets" then

   answer "tsNet is disabled"

else

   answer "tsNet in use. Version==>"& tsNetVersion()

end if

end NetworkType


function GetNetworkType

local tLibUrlDriver

try


   put the behavior of stack"revLibUrl" into tLibUrlDriver

end try

if tLibUrlDriver is empty then

   return "Sockets"

else

   return "tsNet"

end if

end GetNetworkType


Ralph DiMola
IT Director
Evergreen Information Services
rdim...@evergreeninfo.net

-Original Message-
From: use-livecode [mailto:use-livecode-boun...@lists.runrev.com] On Behalf Of 
Ben Rubinstein via use-livecode
Sent: Sunday, November 07, 2021 4:55 PM
To: use-livecode@lists.runrev.com
Cc: Ben Rubinstein
Subject: Re: How to restrain impatient tsNet?

Thanks Mark and Matthias!

Ben

On 07/11/2021 19:28, matthias rebbe via use-livecode wrote:

Ben,

i am not sure if you are already aware of this, but in case you ever want to 
test your app without tsNet in  LC 9.5.x or higher or you want to create it 
with LC 9.5.x or higher but without using tsNET you could unload tsNet in LC 
IDE before testing or creating the standalone. LC then uses only the 'standard' 
libUrl library.

   To disable tsNET execute this in the message box
dispatch "revunloadlibrary" to stack tsnetliburl

Please keep in mind that you have to unselect tsNet in the Inclusions section 
of the standalone builder in case you've set the standalone settings to 
manually select the inclusions.


To enable tsNET again execute this in the message box
dispatch "revloadlibrary" to stack tsnetliburl


Regards,
Matthias



Am 07.11.2021 um 18:50 schrieb Mark Waddingham via use-livecode 
:

I think tsNetSetTimeouts is what you need :)

Warmest Regards,

Mark

Sent from my iPhone


On 7 Nov 2021, at 16:51, Ben Rubinstein via use-livecode 
 wrote:


I'm finally moving an app from LC 6.7 to LC 9.6.5 (huge thanks to Mark W for 
fixing the accumulating/sorting delay loops, which has made this possible).

I've hit what I hope is the last hurdle: at one point in its processing, the 
app has to load a resource over HTTP, which is s.l.o.w. - it typically takes 
around 8 minutes at the moment.

By setting the sockettimeoutinterval to the extreme 1800 (i.e. half an hour) 
this has been fine.

But under 9.6.5, in spite of this setting, it craps out within a minute with 
the message
tsneterr: (28) Operation too slow. Less than 1000 bytes/sec transferred the 
last 30 seconds

Does tsneterr ignore the sockettimeoutinterval? Is there some other property I 
can set to persuade it to be patient?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: How to restrain impatient tsNet?

2021-11-07 Thread Ben Rubinstein via use-livecode

Thanks Mark and Matthias!

Ben

On 07/11/2021 19:28, matthias rebbe via use-livecode wrote:

Ben,

i am not sure if you are already aware of this, but in case you ever want to 
test your app without tsNet in  LC 9.5.x or higher or you want to create it 
with LC 9.5.x or higher but without using tsNET you could unload tsNet in LC 
IDE before testing or creating the standalone. LC then uses only the 'standard' 
libUrl library.

  To disable tsNET execute this in the message box
dispatch "revunloadlibrary" to stack tsnetliburl

Please keep in mind that you have to unselect tsNet in the Inclusions section 
of the standalone builder in case you've set the standalone settings to 
manually select the inclusions.


To enable tsNET again execute this in the message box
dispatch "revloadlibrary" to stack tsnetliburl


Regards,
Matthias



Am 07.11.2021 um 18:50 schrieb Mark Waddingham via use-livecode 
:

I think tsNetSetTimeouts is what you need :)

Warmest Regards,

Mark

Sent from my iPhone


On 7 Nov 2021, at 16:51, Ben Rubinstein via use-livecode 
 wrote:


I'm finally moving an app from LC 6.7 to LC 9.6.5 (huge thanks to Mark W for 
fixing the accumulating/sorting delay loops, which has made this possible).

I've hit what I hope is the last hurdle: at one point in its processing, the 
app has to load a resource over HTTP, which is s.l.o.w. - it typically takes 
around 8 minutes at the moment.

By setting the sockettimeoutinterval to the extreme 1800 (i.e. half an hour) 
this has been fine.

But under 9.6.5, in spite of this setting, it craps out within a minute with 
the message
   tsneterr: (28) Operation too slow. Less than 1000 bytes/sec transferred the 
last 30 seconds

Does tsneterr ignore the sockettimeoutinterval? Is there some other property I 
can set to persuade it to be patient?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


How to restrain impatient tsNet?

2021-11-07 Thread Ben Rubinstein via use-livecode



I'm finally moving an app from LC 6.7 to LC 9.6.5 (huge thanks to Mark W for 
fixing the accumulating/sorting delay loops, which has made this possible).


I've hit what I hope is the last hurdle: at one point in its processing, the 
app has to load a resource over HTTP, which is s.l.o.w. - it typically takes 
around 8 minutes at the moment.


By setting the sockettimeoutinterval to the extreme 1800 (i.e. half an hour) 
this has been fine.


But under 9.6.5, in spite of this setting, it craps out within a minute with 
the message
	tsneterr: (28) Operation too slow. Less than 1000 bytes/sec transferred the 
last 30 seconds


Does tsneterr ignore the sockettimeoutinterval? Is there some other property I 
can set to persuade it to be patient?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Building Windows standalones on Mac with LC 9.6.4 or later - apps not launching?

2021-09-24 Thread Ben Rubinstein via use-livecode

Hi Matthias,

Thanks for testing. After Trevor reported that it should work, I built an 
empty "hello world" stack which indeed launched OK. Since then I've been going 
round and round trying to cut down a copy of my app and simultaneously trying 
to build up the empty stack.


It does seem to be do with inclusions, but I haven't quite got it figured yet 
- but I've just managed to get a working version of my actual app. Hurrah!


Thanks for helping,

Ben

On 24/09/2021 16:39, matthias rebbe via use-livecode wrote:

Ben,

i tried here and created a Windows standalone (both 32 and 64 bit) on Big Sur 
with LC 9.6.4 and moved it to a Windows 10 machine.
The created standalone could be opened without any problem on Windows.

Do you have manual selected the inclusions in standalone settings  or did you 
let LC IDE search for inclusions?


Or maybe this is a Antivirus / Firewall problem? Maybe your standalone was 
blocked without any notification.

Regards,
Matthias



Am 24.09.2021 um 13:39 schrieb Ben Rubinstein via use-livecode 
:

Has anyone else encountered an issue building Windows standalones from LC 9.6.4 
or 9.6.5 on Mac?

What I'm seeing is that the process is suspiciously fast; but generates the 
expected files (.exe, the various dlls); and the .exe is the expected size, 
almost identical to what is produced under LC 9.6.3.

However when this is moved to a Windows machine:

- attempting to open in the Explorer simply nothing happens.

- attempting to launch the standalone from command line is met with the message "Access 
is denied" (although security properties allow Read&Execute).

Symptoms are exactly the same whether the standalone was built for x86 or 
x86-64. Same if built from either LC 9.6.4 and on LC 9.6.5 (rc 1).

Before I report this in the LQCC and make myself look stupid - has anyone else 
built a Windows standalone from Mac on LC 9.6.4 or later, and did it work?

TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Building Windows standalones on Mac with LC 9.6.4 or later - apps not launching?

2021-09-24 Thread Ben Rubinstein via use-livecode

Hmmm. Thanks Trevor.

On 24/09/2021 13:00, Trevor DeVore via use-livecode wrote:

On Fri, Sep 24, 2021 at 6:40 AM Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Has anyone else encountered an issue building Windows standalones from LC
9.6.4 or 9.6.5 on Mac?

…

Before I report this in the LQCC and make myself look stupid - has anyone
else
built a Windows standalone from Mac on LC 9.6.4 or later, and did it work?



I have successfully built Windows executables on macOS three times with
9.6.4. The only issue I experienced was with tsNet business. I have a
specific version that is included when I package my app. The business
version pre-9.6.4 would not launch under 9.6.4. Updating the copy I
distribute with the version from 9.6.4 fixed the problem.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Building Windows standalones on Mac with LC 9.6.4 or later - apps not launching?

2021-09-24 Thread Ben Rubinstein via use-livecode
Has anyone else encountered an issue building Windows standalones from LC 
9.6.4 or 9.6.5 on Mac?


What I'm seeing is that the process is suspiciously fast; but generates the 
expected files (.exe, the various dlls); and the .exe is the expected size, 
almost identical to what is produced under LC 9.6.3.


However when this is moved to a Windows machine:

- attempting to open in the Explorer simply nothing happens.

- attempting to launch the standalone from command line is met with the 
message "Access is denied" (although security properties allow Read&Execute).


Symptoms are exactly the same whether the standalone was built for x86 or 
x86-64. Same if built from either LC 9.6.4 and on LC 9.6.5 (rc 1).


Before I report this in the LQCC and make myself look stupid - has anyone else 
built a Windows standalone from Mac on LC 9.6.4 or later, and did it work?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: export a stack and recreate it it by script

2021-09-15 Thread Ben Rubinstein via use-livecode

Hi Malte,

I have one (not used for many a year) that exports to XML including scripts, 
properties, contents etc. I used it to diff - never wrote an importer for it. 
But if you don't find what you need elsewhere, this might do half the job. Let 
me know if you want it.


Ben

On 15/09/2021 11:29, Malte Pfaff-Brill via use-livecode wrote:

Hi,

I have been lurking for a while and do not really write code anymore. However, 
I am in a situation, where I need to maintain a very old project, that 
consists of a large(ish) collection of stacks that is crashing frequently with 
newer engine versions.My suspicion is that it is due to either a somewhere 
corrupted stack and/or a wild mix of stackFileVersions. Has anyone of you 
created a Script that exports a stack to a text / XML / Json / whatever file 
and can recreate them with the latest stackFileVersion? That would save me 
some trouble and feed my lazyness. :-)


If you want to contact me off list, please use malte [at] derbrill.de

All the best,

Malte

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Sorting text is *VERY* slow in LC9 on Windows (Re: Accumulating text is *VERY* slow in LC9 on Windows)

2021-09-13 Thread Ben Rubinstein via use-livecode

Thanks Mark, now I get it!

Ben

On 12/09/2021 12:09, Mark Waddingham via use-livecode wrote:

On 2021-09-10 19:10, Ben Rubinstein via use-livecode wrote:

The other was
The only caveat is that it might cause apps mutating lots of medium->large 
strings concurrently to take up more memory in general... > ... (and any 
issue arising from that could be resolved by moving to the 64-bit

windows engine).


I have been doing my tests on the 64-bit Windows engine. What am I missing?


The change I am making to the buffer extension rules means that mutable 
strings (i.e. those which the last action was modifying them, rather than 
copying them / fetching them) will take up more space than they did before to 
allow for possible extension (previously the maximum 'just in case' space 
which was allocated was 63 bytes).


This means that applications may take up more memory as a result (if they 
happen to have lots of large mutable strings in play at any one time).


32-bit windows engines have a maximum address space of 3Gb - so if an app was 
already approaching that limit, this might tip them over to start causing out 
of memory errors.


However, in this case, switching to use the 64-bit windows engine would 
resolve the problem as 64-bit address space is substantially larger.


Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Sorting text is *VERY* slow in LC9 on Windows (Re: Accumulating text is *VERY* slow in LC9 on Windows)

2021-09-10 Thread Ben Rubinstein via use-livecode

Hi Mark,

Thank you for this, very promising.

Only two things puzzled me. One you've already addressed when you corrected 
the specified cheese.


The other was
The only caveat is that it might cause apps mutating lots of medium->large 
strings concurrently to take up more memory in general... > ... (and any issue arising from that could be resolved by moving to the 64-bit

windows engine).


I have been doing my tests on the 64-bit Windows engine. What am I missing?

TIA (and T as always for all your work),

Ben

On 10/09/2021 14:06, Mark Waddingham via use-livecode wrote:

On 2021-09-02 18:38, Mark Waddingham via use-livecode wrote:

We will endeavour to fix for 9.6.5-rc-1 (due 'real soon now'!).


So I have been prodding the windows 'accumulating large strings' speed problem 
this week (in amongst other things).


It is definitely memory allocation causing the problem.

The rule for extending a string buffer when inserting/appending more text is 
pretty much the same as 6.7 (the amount of 'extra space' it asks for each time 
is a little less - but changing it to the constant used in 6.7 makes no 
difference). What is different between 6.7 and 7.0+ is the memory allocation 
patterns of the engine itself and I think it is this which is invariably 
causing a whole new buffer having to be allocated when appending to large 
strings, rather than the existing one being extended.


The windows heap is much more prudent than UNIXy counterparts it would seem - 
where UNIX heaps will happily leave plenty of free space (which the heaps know 
about and thus can re-use), Windows appears to avoid that like the plague 
(which I'm sure is the case for lots of historical reasons and backwards 
compatibility). [ To give a very rough analogy, the map of used space in a 
heap on windows is like a block of cheddar; whereas on UNIXy systems it will 
be like a block of edam ].


So anyway, long story short, making a string buffer grow in proportion to its 
size appears to mitigate the problem - I still need to finesse things a bit 
though to ensure that memory starvation doesn't occur when you have a couple 
of large mutating strings but all being well we should be able to get 
something together for 9.6.5-rc-1.


The only caveat is that it might cause apps mutating lots of medium->large 
strings concurrently to take up more memory in general (i.e. in that extra 
unused 'just in case' space at the end of each buffer) but no more than the 
same apps would on any other (UNIX-based) platform (and any issue arising from 
that could be resolved by moving to the 64-bit windows engine).


For reference, the bug about the string accumulation problem as posed by Ben 
is https://quality.livecode.com/show_bug.cgi?id=23319 (this will also fix the 
sort speed too - as the final step the sort command performs internally is 
re-accumulating the string in the new order).


Warmest Regards,

Mark.

P.S. I cannot really say whether this will help with the various 'IDE can be 
like treacle' on Windows problems - but it definitely can't hurt!




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: RCs and DPs

2021-09-09 Thread Ben Rubinstein via use-livecode

Aha, thanks Martin - I missed that.

cheers,

Ben

On 09/09/2021 17:37, Martin Koob wrote:

Hi Ben

This is a change, they used to be there but then there was a policy change by 
LiveCode that was announced back in May



On May 6, 2021, at 7:25 AM, The LiveCode Team > wrote:



Policy change regarding old test releases

Dear Valued Customer,

I'm writing to let you know that in order to optimise space on our servers we 
are removing old test releases of LiveCode. This should not affect you, as 
there should be no reason to use these old releases anymore. All older stable 
releases will remain available, but old releases labelled "dp" or "rc" will be 
removed from your account and from the download pages on our servers. If you 
do already have one of these downloads, the licensing will continue to work 
with it, however I strongly advise you to move to using a stable release, 
these are test releases and not intended for general use.


We will of course continue to offer the rc and dp releases for our latest 
build/s whilst they are under development.


If you think this will affect you, please do feel free to reply to this email, 
we would be very interested to hear why you are using an older, unstable and 
unsupported release.


Best Regards,

Heather

/Copyright © 2021 LiveCode Ltd, All rights reserved./
You joined this list upon creating an account and confirming your email 
address at LiveCode.com .





___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


RCs and DPs

2021-09-09 Thread Ben Rubinstein via use-livecode



As well as the expected stripping out of community versions from 
https://downloads.livecode.com/livecode/, it seems that all RCs and DPs have 
gone, leaving only STABLE versions (or have I just mis-remembered that they 
used all to be there?).


Is there going to be a change in how RCs and DPs are made available? Will they 
appear on that page, at least until superceded by a stable version? Or 
something else?


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Send a table in an email.

2021-09-09 Thread Ben Rubinstein via use-livecode

Hi Sean,

Not to wind you up with yet another 'helpful' suggestion... but here's what I 
would do, if I've understood you correctly.


I think you're formatting a nice message in a field using LC styling; then 
using the Mime Encoder feature to format it to include in an email. But when 
you try to put a table in the field, it doesn't come out nicely.


My suggestion would to be do that, but where you want the table in the field, 
just put "***TABLE***" or similar.


Then do the minimal work to generate the table in HTML format, and insert in 
the result of the mime encoder, so you end up doing something like


put mimeEncodeFieldAsMIMEMultipartDocument(pField) into tMessageBody
replace "***TABLE***" with tHTMLtable in tMessageBody

Let the MIME encoder do all the dirty work it does on the messy stuff. Do the 
straightforward rendering of a table in HTML yourself. Combine the two.


My 2c. Apologies if this a lecture on sucking eggs.

Ben


On 09/09/2021 09:35, Pi Digital via use-livecode wrote:

Hehe. Full of ‘solutions’ :)

It’s because we need to see it as a table in an email :D
That’s the point of the question.

Here’s my full process if it helps you understand.

I (that is to say, a server I code and manage) process around 100-120 emails a 
day from the mobile (cell phone) carriers O2 and EE. They all get done at about 
5am every day at including weekends. Some have call data in them and some do 
not. Some have broken csv’s in them. Myself and others in the team need to 
quickly know when it breaks so we can look into it.

So, to be absolutely sure, we email ourselves every morning a list of which 
emails have been processed for all of the clients (4 so far). It has the 
details of the email UID, the customer name, the client(or Dealer as we call 
them) name, the date range, the account number, number of Kb, and a bunch of 
other relevant data to us. This list has grown. Each line has a of course a 
different length and does not format out like the table it is put into in LC.

The purpose of the email is a forceful reminder to us to check. The subject 
let’s us know immediately if there may be issues by telling us how many got 
processed and how many had data and how many are potentially broken. These can 
only be indicators. We find ourselves in the rubbish position of checking it 
over by eye.

We ‘could’ have it sent to a database, or show up in an app or all manner of 
other methods but by far and away the simplest way for us to daily get this 
reminder is by a simple email with a heading and a list. Email is a system with 
a long track record of ‘working’. The fact that email still exists is testament 
to this. A quick scan over this daily doc helps us quickly see which ones we’ve 
already checked, what potential issues there are and, more importantly for me, 
if the remote server had completely fallen over. No need to open any links or 
other software to view quickly a stream of data. It’s easier to recall and 
delete than our mySQL database. Email is just there, always.

So, the ability to quickly convert our little table from a text field on the 
server into the body of an email is what I’m looking to do. I had expected the 
mime field encoder to do this but it seems it’s only very simple in its view of 
a field.

The data returned from ‘the htmlText of field’ is so long and convoluted and 
also does not contain either the correct formatting or table info suitable for 
email.

So, it looks like if I have to do it I will have to code a whole html method 
for expressing it as a table in an email body that email will accept and 
display as expected. That’s why I had ‘hoped’ that the MIME encoder already did 
it for us. Alas, negatory!

I didn’t want to have to have put all this into an email when asking the 
question and ‘hoped’ that a simple question would suffice to get a simple 
answer (which MarkW was gracious to provide from the most qualified position I 
know).

But, seriously, thank you for your interest and attempts to offer useful 
suggestions. Sometimes what sounds like a simple answer actually just 
overcomplicates the ‘end user experience’. Something we as software engineers 
should be ever aware of ;)

Thanks again

Sean
Pi Digital



On 9 Sep 2021, at 05:29, Rick Harrison via use-livecode 
 wrote:

Hi Sean,

Why don’t you just email them a spreadsheet or a .csv file,
let them open it. and they can copy and paste whatever they want
into their own spreadsheet?

Rick



On Sep 8, 2021, at 10:43 PM, Pi Digital via use-livecode 
 wrote:

Hi Rick

Because, as stated before, you can’t select the text and paste it into a 
spreadsheet.

Thanks though.

Sean


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

___
use-livecode 

Re: SE Show Globals inverted

2021-09-08 Thread Ben Rubinstein via use-livecode
I've not knowingly seen this issue. But while we're discussing viewing global 
variables, I still mourn this regression introduced in LC 8, when the message 
box stopped allowing inspection of arrays in global variables (the SE still does):

https://quality.livecode.com/show_bug.cgi?id=17478

And while we're confessing laziness, my more shameful confession is about a 
crashing bug when using conditional breakpoints. I've become used to being 
very wary as soon as I start using these, and saving very often. Have others 
seen this issue?


Ben

On 08/09/2021 18:31, J. Landman Gay via use-livecode wrote:
This has been going on for years but I never reported it because... lazy. For 
me, it happens when I'm stepping through a handler and I change or query 
something in the message box.


--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
On September 8, 2021 11:25:24 AM Bob Sneidar via use-livecode 
 wrote:


Here's a new one. I've noticed this before, that globals were appearing when 
show globals checkbox was not hilited. I just noticed that during this 
condition, checking the show globals checkbox hides the globals! LOL! I'll 
toss up a bug report later.


Bob S


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode





___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: LiveCode 10 - what are your thoughts on the new features?

2021-09-08 Thread Ben Rubinstein via use-livecode



On 08/09/2021 14:20, Mark Waddingham via use-livecode wrote:

I also wonder whether this might be the moment to introduce another
bit of (completely non-breaking) syntactic sugar:
https://quality.livecode.com/show_bug.cgi?id=8945


Hehe - with integers being unbounded, there are plenty more version numbers in 
the future ;)


But why wait? (At least to introduce the 'uninterpreted' version.) If nothing 
else, it might serve to block the "@" symbol being hijacked for some other 
damn fool bit of syntax...


Ben (grumpy old man)

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Text encoding: summary of results and times.

2021-09-08 Thread Ben Rubinstein via use-livecode
I think that as the code changes in since v7 also included some substantial 
optimisations, I'm no longer certain that there is *in general* a performance 
hit from v7 onwards... except on Windows, where Mark W has hinted he may soon 
fix this.


But I'm not absolutely sure. Because the only place I really do massive 
massive amounts of text processing is on an unattended Windows machine, that's 
where I see the difference, which I previously attributed to the support for 
Unicode; on Mac, in general I (a) continue to find the text processing so 
blindingly fast that it doesn't bother me and (b) don't have a good framework 
for comparison because this is basically on the machine where I live and work, 
so there's always a substantial but variable amount of other activity going on.


Ben

On 08/09/2021 16:39, Bob Sneidar via use-livecode wrote:

It sure helped me to understand it! Thanks. As I understand the performance 
issue thought between 6.7 and later versions of LC, it revolves around having 
to process all the unicode strings that are native now. Or so the discussion 
has gone in the past. If not, then the performance hit since v7 has yet to be 
explained sufficiently.

Bob S



On Sep 8, 2021, at 02:42 , Ben Rubinstein via use-livecode 
 wrote:


On 07/09/2021 17:22, Bob Sneidar via use-livecode wrote:

This makes sense to me (I think) because if I am not mistaken, UTF16 is 
Unicode, and UTF8 is simple ASCII. The slowdown from 6.7 to 7.0 was precicely 
the support for Unicode text. Someone will correct me if I am wrong about this. 
As a hobbyist, I try and stay away from localization issues. But I am 
interested in the idea that all text incoming should be text decoded and 
outgoing the inverse. (Did I get that right??)


Cue scenes of strong men reeling back in horror, ladies fainting, etc (Bateman 
cartoons, for those of a British persuasion).

UTF16 is not Unicode, UTF8 is not simple ASCII, and I'm not even sure that the 
slowdown from 6.7 to 7.0 was precisely the support for Unicode text, though I'm 
not sure about that.

Unicode and ASCII are both conventions that assign character interpretations to 
numbers. ASCII assigned approximately 94 character interpretations to the 
numbers 32-126 (plus a few control interpretations to some other numbers). 
WindowsLatin1, MacRoman, ISO-8859-1 etc all did the same but to a wider range 
of numbers up to 255. Unicode does the same thing for a... much... larger 
number of characters and glyphs, and hence using a... much... larger range of 
numbers.

Unicode specifies numbers, not bytes. UTF8 and UTF16 are two of several ways of 
representing Unicode strings in bytes. UTF8 is designed to do so in a way that 
makes ASCII text compatible with UTF8, i.e. a file of ASCII text is a valid 
UTF8 file; the reverse is not necessarily true.

A long-running problem with Metacard, Revolution, LC up to v6 was being 
surprisingly platform-centric about character sets. To this day, textEncode etc 
only support MacRoman on Mac, only support ISO-8859-1 on Linux, and so on; as 
if we never are on one platform, needing to deal with character streams 
generated on another. See
https://quality.livecode.com/show_bug.cgi?id=12205
https://quality.livecode.com/show_bug.cgi?id=22391
https://quality.livecode.com/show_bug.cgi?id=21320

LC7 brought LiveCode into the later part of the 20th century by properly 
supporting Unicode, and by breaking the assumed link between bytes and 
characters. However if I understand correctly, the internal format of strings 
does not, or at least not necessarily, correspond to any externally defined 
standard, but can take various forms in order to maximise efficiencies of 
processing and storage.

Not sure if this helps, but it helped me to write it!

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: LiveCode 10 - what are your thoughts on the new features?

2021-09-08 Thread Ben Rubinstein via use-livecode

> It requires an explicit '...':

Ahah! Not being a javascripter, I completely missed that, and thought you were 
just omitting some text for clarity!


[Sidenote: what idiot decided to use ellipsis as an operator?? And not even 
the ellipsis character, but three dots???].


> Interesting your missing of the all important operator being required reminds
> of a mistake I did make way back when I added the ability to use a sequence
> array as an array index...
>
>put tArray[tFoo] into tBar -- evaluates as tArray[1][2]

What the... ? [insert joke here - I wrote that without realising what I'd 
done...]. I had no idea this facility existed. Is it documented anywhere?


Just to be clear, because the example below is ambiguous, given

  put "a" into tFoo[1]
  put "b" into tFoo[2]

would
  put tArray[tFoo] into tBar

evaluate as
tArray["a"]["b"]
or
tArray[1][2]

?



On 08/09/2021 14:20, Mark Waddingham via use-livecode wrote:

On 2021-09-08 13:09, Ben Rubinstein via use-livecode wrote:
I'm also excited by the items in this list, at least the ones that I 
understand.


I am a bit disturbed by the Tail Expressions one, because to the
extent that I do understand it, I don't see how this doesn't break
existing code that passes an array, and will do so in the worst way,
i.e. silently, leaving the developer to figure out what's going on by
the secondary or tertiary effects. Am I wrong?


It requires an explicit '...':

     put 1 into tFoo[1]
     put 2 into tFoo[2]

     myHandler tFoo -- passes a single argument: the array tFoo
     myHandler ... tFoo -- passes two arguments: 1, 2 (the elements of tFoo)

Interesting your missing of the all important operator being required reminds 
of a mistake I did make way back when I added the ability to use a sequence 
array as an array index...


   put tArray[tFoo] into tBar -- evaluates as tArray[1][2]

I really should have thought to require explicit syntax there. i.e.

   put tArray[... tFoo] into tBar

The reason here is performance - if I had done that it would mean the engine 
would known that in the case of:


   put tArray[tFoo]

That it will only ever generate a path of length 1 to index the array - rather 
than pretty much all array expressions potentially being unbounded in length.


You live, you learn.


I'm very pleased about constant expressions. I do wonder whether this
raft of changes might also be the moment to do something about this
nasty little weirdness:
https://quality.livecode.com/show_bug.cgi?id=18390


Well constant expressions do alleviate that problem a bit:

     constant kFormatArg = format("\"%s\"")

     put format(kFormatArg, "Hello") => "Hello"
     put format("\"%s\"", "Hello") => "Hello"

i.e. The use of `\` escapes in format, generates characters which format 
otherwise skips over as content - except `\` itself, so you have to be a 
little careful there. i.e.


    constant kFormatArg = "%s"

    put format(kFormatArg, "Hello") => "\Hello"
    put format("\\%s", "Hello") => "\Hello"

In regards to your comment on that report then yes that is a good idea - 
albeit a breaking change. However, I think that is probably best considered as 
part of a package of changes which improve the expression of string constants 
generally. After all, if tooling is going to be updated, it is better to do so 
'all in one go', rather than in dribs and drabs. Multi-line string literals 
(as mentioned previously) would go into that 'package'.


Another thing we could consider at that point is adding a 'f' prefix to 
literals which imply they are C-style escaped (basically a contraction of 
'format')... Indeed, we could even make that a way to introduce variable 
interpolation.


Also, at that point I'd probably suggest that we also allow ' or " to delimit 
strings.


So f'...' or f"...", '...\'...', "...\"...", '''...''', """...""".

(Specifically here I'm proposing that there would be no semantic difference 
between ' and " - they would merely enable trivial inclusion of the other 
quote type).




I also wonder whether this might be the moment to introduce another
bit of (completely non-breaking) syntactic sugar:
https://quality.livecode.com/show_bug.cgi?id=8945


Hehe - with integers being unbounded, there are plenty more version numbers in 
the future ;)


Warmest Regards,

Mark.



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: AW: IDE performance (Re: Suggestion: Non-Appbuilding Community Edition)

2021-09-08 Thread Ben Rubinstein via use-livecode

Thanks Tiemo.

I think it would help LiveCode address this issue if we knew two things:
- if this is something that changed at some point, what was that point
- if this doesn't affect everyone on Windows, what are the relevant 
distinctions

In relation to the first question, if someone who is experiencing the problem 
was able to test using


https://livecodestatic.com/downloads/livecode/7_0_0/LiveCodeInstaller-7_0_0-Windows.exe
and

https://livecodestatic.com/downloads/livecode/6_7_11/LiveCodeCommercialInstaller-6_7_11-Windows.exe
and confirm whether there's a dramatic difference in IDE speed, that would 
help. (Unfortunately since the licensing changes, the available installers for 
these old versions require someone with a commercial license.)


In relation to the second, by my count four people have now reported 
harrowingly slow IDE performance on Windows. I think at least two have said 
it's fine for them. Could we get a catalogue of the setups which do and don't 
experience the issue?


Ben


On 08/09/2021 13:26, Tiemo via use-livecode wrote:

The response of the IDE on Windows is harrowing slow. It's definitely no fun 
and is chilling for every newbe!
I tried all tweaks without result.

For me the hassle started with LC 7 (if I remember right)

Tiemo


-Ursprüngliche Nachricht-
Von: use-livecode  Im Auftrag von Ben 
Rubinstein via use-livecode
Gesendet: Mittwoch, 8. September 2021 14:14
An: Andre Garzia via use-livecode 
Cc: Ben Rubinstein 
Betreff: Re: IDE performance (Re: Suggestion: Non-Appbuilding Community Edition)

May I repeat my request that anyone experiencing these issues on Windows 
(Andre, Lagi, Bob), could if possible confirm whether they find the same 
applies using LC 6.7?

It would be good to understand if this has always been an issue, or whether it 
came in with the switch to LC7, as we know some other Windows-specific speed 
issues did.

Ben

On 08/09/2021 11:17, Andre Garzia via use-livecode wrote:

I mean the script editor mostly but also the rest of the ide has a bit of jank. 
Laying out interfaces on Windows has been worse than doing it on a Mac. The 
worse offender is the script editor though.


On 7 Sep 2021, at 23:28, Scott Morrow via use-livecode 
 wrote:

Andre, when you say “so bad” do you mean the script editor or… ?
--
Scott Morrow


On Sep 7, 2021, at 12:57 PM, Andre Garzia via use-livecode 
 wrote:

to be honest, the IDE on Windows has been so bad for me that it caused me to 
switch back to a mac...



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: IDE performance (Re: Suggestion: Non-Appbuilding Community Edition)

2021-09-08 Thread Ben Rubinstein via use-livecode
May I repeat my request that anyone experiencing these issues on Windows 
(Andre, Lagi, Bob), could if possible confirm whether they find the same 
applies using LC 6.7?


It would be good to understand if this has always been an issue, or whether it 
came in with the switch to LC7, as we know some other Windows-specific speed 
issues did.


Ben

On 08/09/2021 11:17, Andre Garzia via use-livecode wrote:

I mean the script editor mostly but also the rest of the ide has a bit of jank. 
Laying out interfaces on Windows has been worse than doing it on a Mac. The 
worse offender is the script editor though.


On 7 Sep 2021, at 23:28, Scott Morrow via use-livecode 
 wrote:

Andre, when you say “so bad” do you mean the script editor or… ?
--
Scott Morrow


On Sep 7, 2021, at 12:57 PM, Andre Garzia via use-livecode 
 wrote:

to be honest, the IDE on Windows has been so bad for me that it caused me to 
switch back to a mac...



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode



___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: LiveCode 10 - what are your thoughts on the new features?

2021-09-08 Thread Ben Rubinstein via use-livecode

I'm also excited by the items in this list, at least the ones that I understand.

I still haven't fully understood the one Alex raises below, but I'm content 
that it won't bother me until I do.


I am a bit disturbed by the Tail Expressions one, because to the extent that I 
do understand it, I don't see how this doesn't break existing code that passes 
an array, and will do so in the worst way, i.e. silently, leaving the 
developer to figure out what's going on by the secondary or tertiary effects. 
Am I wrong?


I'm very pleased about constant expressions. I do wonder whether this raft of 
changes might also be the moment to do something about this nasty little 
weirdness:

https://quality.livecode.com/show_bug.cgi?id=18390

I also wonder whether this might be the moment to introduce another bit of 
(completely non-breaking) syntactic sugar:

https://quality.livecode.com/show_bug.cgi?id=8945

Ben, eagerly anticipating


On 08/09/2021 08:50, Mark Waddingham via use-livecode wrote:

On 2021-09-08 01:33, Alex Tweedly via use-livecode wrote:

But
 put [1, 2, 3 ] into tVar2
isn't clear to me. If it was in Python it would be a list - but LC
doesn't have 'lists'.

Is it equivalent to
   put true into tVar2[1]
   put true into tVar2[2]
   put true into tVar2[3]    ??


Yes.

A sequence in LC is a numerically-keyed array where the keys range from 
1...the number of elements.


Admittedly they are (currently) still implemented as a 'normal' array 
internally, but they do have different functionality in `repeat for each 
element` which iterates in numeric order, and not hash order.



Why can't I say
    put { myvar: "first", anothervar: tWhatever } into tVar2   ?


So if one treats array literals as an equivalent to an ordered sequence of put 
statements (which is the canonical interpretation really!) then there is, in 
principal, no problem with allowing non-constant expressions for both key and 
value.


Certainly non-constant value expressions are no problem at all, and would be 
included in the initial implementation... I'm not averse to non-constant key 
expressions either really, I'm just a little skittish over the resulting 
reservation of ':' (which is probably fine), and the interplay with variables 
and unquoted-literals (more in terms of difference that might occur between 
what the engine thinks something means and what the writer intended).



But I was disappointed to not see my two biggest 'constant' wishes

1. multi-line constants e.g. amongst other ways, Python's

put """line 1

line 2

line 3""" into tVar


I'm not averse to the idea of multi-line literals - although constant-folding 
does go a long way to assuage the problems they solve in many cases.


e.g. You can use format("dfsdf\ndfgdfg") for short strings with newlines in, 
and any chained sequence of concatenations of constants will be evaluated at 
compile time.


The main issue here is the effect on tooling really - any code which processes 
LiveCode Script in any way would need to change to take them into account. 
This not only includes syntax highlighters and editors but any code which 
groks script for other reason. This means that what might be a relatively 
simple change to the engine, actually introduces a ripple effect where the 
whole implementation burden is a great deal higher.


[ I'd point out that I don't think there is a single piece of tooling in 
existence which actually fully supports the *current* lexical structure of 
LiveCode - which has not actually changed since day dot - including the 
existing Script Editor ]


That being said, in terms of what multiline syntax I'd propose, if it were to 
be added - I'd be in favour of Swift's model. Most other languages have added 
multiline strings with no thought to code structure, however the Swift team 
really have:


    var foo = """
  Line 1 - spaces before stripped
  Line 2 - spaces before stripped
  """

There are two simple rules at play here.

The first is that no string content is present on the lines containing """ - 
i.e. the string content starts on the line after the opening """, and the 
string content ends on the line before the closing """.


The second is that whitespace is stripped from each line of the string content 
based on the whitespace before the final """. i.e. If the """ is indented by 3 
spaces, then 3 spaces are removed from all lines of the content.


This means indenting of such literals is no different from any other construct 
- and is merely predicated on identifying the lines in such a literal as 
continuations (i.e. each line is an extension to the last).



2. global constants. Most compiled languages will allow an 'include'
file which can specify constants, which you can then rely on to be
defined properly (and the same) everywhere. So that's probably too
much at odds with LC's model - but could be handled by 'protect'
global variables (or, I'm sure, another 10 ways that Mark W. could
think of).


So if by 'global const

Re: Text encoding: summary of results and times.

2021-09-08 Thread Ben Rubinstein via use-livecode



On 07/09/2021 17:22, Bob Sneidar via use-livecode wrote:

This makes sense to me (I think) because if I am not mistaken, UTF16 is 
Unicode, and UTF8 is simple ASCII. The slowdown from 6.7 to 7.0 was precicely 
the support for Unicode text. Someone will correct me if I am wrong about this. 
As a hobbyist, I try and stay away from localization issues. But I am 
interested in the idea that all text incoming should be text decoded and 
outgoing the inverse. (Did I get that right??)


Cue scenes of strong men reeling back in horror, ladies fainting, etc (Bateman 
cartoons, for those of a British persuasion).


UTF16 is not Unicode, UTF8 is not simple ASCII, and I'm not even sure that the 
slowdown from 6.7 to 7.0 was precisely the support for Unicode text, though 
I'm not sure about that.


Unicode and ASCII are both conventions that assign character interpretations 
to numbers. ASCII assigned approximately 94 character interpretations to the 
numbers 32-126 (plus a few control interpretations to some other numbers). 
WindowsLatin1, MacRoman, ISO-8859-1 etc all did the same but to a wider range 
of numbers up to 255. Unicode does the same thing for a... much... larger 
number of characters and glyphs, and hence using a... much... larger range of 
numbers.


Unicode specifies numbers, not bytes. UTF8 and UTF16 are two of several ways 
of representing Unicode strings in bytes. UTF8 is designed to do so in a way 
that makes ASCII text compatible with UTF8, i.e. a file of ASCII text is a 
valid UTF8 file; the reverse is not necessarily true.


A long-running problem with Metacard, Revolution, LC up to v6 was being 
surprisingly platform-centric about character sets. To this day, textEncode 
etc only support MacRoman on Mac, only support ISO-8859-1 on Linux, and so on; 
as if we never are on one platform, needing to deal with character streams 
generated on another. See

https://quality.livecode.com/show_bug.cgi?id=12205
https://quality.livecode.com/show_bug.cgi?id=22391
https://quality.livecode.com/show_bug.cgi?id=21320

LC7 brought LiveCode into the later part of the 20th century by properly 
supporting Unicode, and by breaking the assumed link between bytes and 
characters. However if I understand correctly, the internal format of strings 
does not, or at least not necessarily, correspond to any externally defined 
standard, but can take various forms in order to maximise efficiencies of 
processing and storage.


Not sure if this helps, but it helped me to write it!

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Sorting text is *VERY* slow in LC9 on Windows (Re: Accumulating text is *VERY* slow in LC9 on Windows)

2021-09-03 Thread Ben Rubinstein via use-livecode

I'm very much hoping that Mark W might magically fix this in 9.6.5.

But in the meantime FWIW, the place where this was really hurting (in a script 
that took 8 minutes under LC6, was taking 8 hours under LC9, but I've 
gradually tamed it down to under an hour by buffering the large accumulations) 
was a single sort command, on 70 MB of data in approx 223,000 lines.


I've replaced this line:
sort lines of tNewTable by item iSortCol of each

which took 1 second on Mac, 2063 seconds (i.e. 34 minutes) on Windows, with a 
call to this command


command sortLinesByTabbedColumn @tTable, iSortCol
   local aTable, tSortTable, iARcounter, tARbuffer, tRow, k

   -- load table into an array for fast access by line number
   put tTable into aTable
   split aTable using return

   -- compile index of just the column to sort on, and line number
   set the itemDelimiter to tab
   repeat for each key k in aTable
  get (item iSortCol of aTable[k]) && k
  appendRow it, iARcounter, tARbuffer, tSortTable
   end repeat
   put tARbuffer after tSortTable

   -- sort it
   sort lines of tSortTable

   -- rebuild table out of array, in sorted order
   put empty into tARbuffer
   put empty into tTable
   repeat for each line tRow in tSortTable
  put last word of tRow into k
  appendRow aTable[k], iARcounter, tARbuffer, tTable
   end repeat
   put tARbuffer after tTable

end sortLinesByTabbedColumn

which takes 25 seconds on Windows (to my surprise, most of that time was in 
the final 'rebuild' loop).



On 02/09/2021 23:53, Bob Sneidar via use-livecode wrote:

I am going to say no, because you still have to traverse the file once to get 
it into sqLite, then do the sort, then write out the file when done. I might be 
mistaken, the subsequent SQL sort may make up for lost time. Using a memory SQL 
really shines when you need to make multiple passes at the data using different 
queries. One pass may not impress you much.

For instance, I have a File Management module built into my application. A file 
can belong to a customer, and also to a site, and also to a device. Like so:

custid  siteid  deviceidfilepath
123 disk/folder/file1
456 098 disk/folder/file2
789 765 432 disk/folder/file3

Note all have a custid, some have a siteid as well, and some also have a 
deviceid.

So rather than query mySQL for the files for each site or device as I select 
them, I instead, upon selecting a customer, query mySQL for ALL the file 
records for that customer, (which of course contain the file records for all 
the sites and devices), then store that in a memory database. Then when a 
different site or device belonging to that customer is selected, I query the 
memory database for those belonging to that site, or that device in those 
modules respectively.

The performance enhancement is significant.

Another way I apply this is to get the objects on a card passing a list of 
properties I'm interested in, then store the data in a memory database. I can 
then query for objects with certain properties without having to iterate 
through all the objects on a card in a repeat loop. For instance, the farthest 
left, top, right and bottom object whose visible is true in 4 memory db 
queries, giving me the total rect of all the visible objects without 
grouping/ungrouping and the hell that can ensue.

Bob S



On Sep 2, 2021, at 11:22 , Bernard Devlin via use-livecode 
 wrote:

Whilst waiting for a fix, would a temporary solution be to use sqlite to
create an in-memory database and let sqlite do the sorting for you?

Regards, Bernard.

On Mon, Aug 30, 2021 at 8:23 PM Ben Rubinstein via use-livecode <
use-livecode@lists.runrev.com> wrote:


Thanks to Mark Waddingham's advice about using a buffer var when
accumulating
a large text variabel in stages, I've now got a script that took 8 hours
under
LC9, and (8 minutes under LC6) down by stages to just under 1 hour under
LC9.

However I have some remaining issues not amenable to this approach; of
which
the most significant relates to the sort command.

In all cases it seems to take much longer under LC9 than it did under LC6;
although the factor is quite variable. The most dramatic is one instance,
in
which this statement:

sort lines of tNewTable by item iSortCol of each

takes 35 minutes to execute. `tNewTable` is a variable consisting of some
223,000 lines of text; approx 70MB. The exact same statement with the same
data on the same computer in LC6 takes just 1 second.

Has anyone else noticed something of this sort? As I said, the effect
varies:
e.g. 54 seconds versus 1 second; 22 seconds versus

IDE performance (Re: Suggestion: Non-Appbuilding Community Edition)

2021-09-03 Thread Ben Rubinstein via use-livecode
I was wondering this too: when Lagi mentioned 'fix the IDE' I thought this 
might be a reference to some of a number of usabiity snags - it didn't occur 
to me that it was just speed.


I develop on a nine-year old MacBook and have never noticed a speed issue with 
the IDE. I wonder if it's possible that the Windows IDE has been affected by 
the same issue to do with manipulating quantities of text that I've been 
talking about on the list, which Mark W has suggested might be fixed in a 
release very shortly? (Seems unlikely!) But definitely seems to be something 
platform specific.


Lagi, if you're still able to access a 6.7 installer, could you confirm 
whether the IDE under 6.7 has the same problem on your set up? The problems 
with speed on Windows that I'm seeing came in after 6.7.


Ben

On 03/09/2021 03:05, Sean Cole (Pi) via use-livecode wrote:

Hi Lagi,
I have the LC IDE running on a remote Windows Server with 1 core (2Ghz) and
2GB ram. It struggles at times but is still usable (truly amazingly).
Otherwise, I run it on Windows through Parallels Desktop with VM 8 cores
and 8GB on an 8core 32GB Macbook Pro. Saving a stack takes 15 times longer
in Win compared to the same machine in macOS. Other than the slight lag and
bugginess of the script editor this is the only slowness I see. Unicode
slows down some procedures but that is not limited to the IDE.

I hope you can work out what is slowing it down to treacle speeds for you.
It sounds a bit odd to me.

On Fri, 3 Sept 2021 at 00:16, Bernard Devlin via use-livecode <
use-livecode@lists.runrev.com> wrote:




But the best way of selling it is to FIX the bloody IDE - I am running on a
16G 1 year Old 8th Generation CoreI7  processor and it  STILL runs like
treacle.
<<

As I don't recognize this experience can you put a video of your experience
on the cloud?  I don't run on hardware anything like as beefy as you have.
The only machine I've got where LC is slow is one where Windows itself is
really slow (a 4yo laptop).  On my two Apple machines (M1 and Intel, the
latter is 5yo) it is not "like treacle", neither is it slow on my i5
Windows machine.

It's a bit hard for LC Ltd to identify and fix something if it's only found
in some odd cases.

Regards, Bernard






On Thu, Sep 2, 2021 at 10:34 PM Lagi Pittas via use-livecode <
use-livecode@lists.runrev.com> wrote:


Trials of 14 days or even 30 days are a waste of time. I can install
something and use it for a couple of days - then life / work gets in the
way
so It sits on the computer for 31 days and then times out.

  You then have to waste your time and the companies to get an extension,
and by the time they answer
you get cheesed off and remove the  program.

The BEST trial is the one that lasts for 30 actual executions or 6 months
(whichever comes first).

This stops the clever  SOD who decides to keep it running without exiting
for 6 months but it times out anyway.
Even better if he keeps it on for 2 days it counts as "executing" twice

so

it will last 30 days.

This means I have 30 days over a 6 month period to really test it without
rushing.

The people who would game the system are the people who won't be loyal
customer anyway, so not giving a worthwhile trial period handicaps those
who want to give it a good try.

You can also put a  nag screen  at the start of any executable with an OK
button  link to a special discounted price - free marketing (what a
brilliant Idea, why didn't I think of it?).

But the best way of selling it is to FIX the bloody IDE - I am running

on a

16G 1 year Old 8th Generation CoreI7  processor and it  STILL runs like
treacle.

If I downloaded it today as a new person it would be off my machine in

less

than 30 minutes.

You could also use this as your "marketing" system by "giving it away"

to

schools for nothing and without the trial period but the nag screen.

It can then be used by the students to learn programming at no cost - and
some of the students parent might pony up for a paid for version at a
student price (with no expiring standalones of cours - the most stupid

idea

of the lot so far)


Anyway Kevin, have I/we wastedour time again putting out these cranky,
stupid and not workable suggestions?.

Lagi







On Thu, 2 Sept 2021 at 15:55, Kevin Miller via use-livecode <
use-livecode@lists.runrev.com> wrote:


We *are* considering the length of the trial actively, we may well

give a

longer trial a shot at some point.

Kind regards,

Kevin

Kevin Miller ~ ke...@livecode.com ~ http://www.livecode.com/
LiveCode: Develop Yourself

On 02/09/2021, 15:51, "use-livecode on behalf of Ralph DiMola via
use-livecode"  wrote:

 True, true.

 There could be a small group of programmers that pass a stack

around

but you would not be able to convince/teach a civilian to install a
programming IDE and explain how to run the stack along with any other
supporting files, SW or plug-ins... Mobile would be a non-starter. I

would

not dismiss this out-of-hand. A 90 

Re: Text encoding.

2021-09-03 Thread Ben Rubinstein via use-livecode
I always have to double check this as well. I think the point is that LC knows 
what its internal format is, but doesn't know what the source format is. So 
you always have to specify the 'external' format, but never the internal one.


With that in mind, it feels (at least in my language instincts) that if you're 
changing it out of the specified format, that's decoding; and vice versa. You 
have have to decode the text from UTF8 (or whatever) into the internal format; 
and encode it from the internal format into UTF8 (or whatever).


Ben

On 03/09/2021 03:55, J. Landman Gay via use-livecode wrote:
I made the same mistake at first. The concepts felt backward to me, it seemed 
like we should encode text into the format we were aiming for. So If I wanted 
UTF16 I should encode it that way. If I wanted UTF8 for outbound text I should 
decode the UTF16 that LC uses.


When the receiving server scripts went haywire I finally figured it out, but 
not before the Rails programmer wrote code to undo the gibberish I was sending.


--
Jacqueline Landman Gay | jac...@hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
On September 2, 2021 7:55:45 PM Alex Tweedly via use-livecode 
 wrote:


i.e.I encoded it on the way in.

It should have been

   put textDecode(pStr, "UTF8") into pStr

With that changed, my tiny test script works properly




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:

http://lists.runrev.com/mailman/listinfo/use-livecode


___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Sorting text is *VERY* slow in LC9 on Windows (Re: Accumulating text is *VERY* slow in LC9 on Windows)

2021-08-30 Thread Ben Rubinstein via use-livecode
Thanks to Mark Waddingham's advice about using a buffer var when accumulating 
a large text variabel in stages, I've now got a script that took 8 hours under 
LC9, and (8 minutes under LC6) down by stages to just under 1 hour under LC9.


However I have some remaining issues not amenable to this approach; of which 
the most significant relates to the sort command.


In all cases it seems to take much longer under LC9 than it did under LC6; 
although the factor is quite variable. The most dramatic is one instance, in 
which this statement:


sort lines of tNewTable by item iSortCol of each

takes 35 minutes to execute. `tNewTable` is a variable consisting of some 
223,000 lines of text; approx 70MB. The exact same statement with the same 
data on the same computer in LC6 takes just 1 second.


Has anyone else noticed something of this sort? As I said, the effect varies: 
e.g. 54 seconds versus 1 second; 22 seconds versus 1 second. So it may not be 
so noticeable in all cases.


TIA,

Ben

___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


Re: Accumulating text is *VERY* slow in LC9 on Windows

2021-08-26 Thread Ben Rubinstein via use-livecode

Thank you Mark!

Using a buffer indeed essentially solves the problem (at least for this 
example!).

Because I may have to use this in a bunch of places, I made my life easier by 
putting it in a command using variables passed by reference. Because I'm 
almost invariably appending a line at a time, and usually have a row counter 
going anyway, I'm deciding when to dump the buffer based on number of lines 
rather than length of the buffer (which may occasionally mean the buffer has 
to be resized up).


command appendRow tRow, @iRowCounter, @tBuffer, @tOutput
   put tRow & return after tBuffer
   add 1 to iRowCounter
   if (iRowCounter mod siBuffSize) = 0 then
  put tBuffer after tOutput
  if sbDeleteBuffer then
 delete codeunit 1 to -1 of tBuffer
  else
 put empty into tBuffer
  end if
   end if
end appendRow

I initially wrote this emptying the buffer just by putting empty into it. Then 
I borrowed your line of deleting the contents, which I presume makes it more 
likely to be retained in the heap.


In general inline is a bit faster than using the command; and deleting the 
code points of the buffer is a bit faster than emptying - but it's not 
completely clear cut. (This is one set of runs, not averaging repeated ones.)


  command command inline  inline
buffer size   empty   delete  empty   delete

  500 lines  33  31  29  29
 1500 lines  16  13   7  14
 2500 lines  14  10   7  11
 4000 lines  18  11   8   9
 5000 lines  19   7  11   9


(All times in seconds on Windows, LC 9.6.3.)

And given that not using a buffer takes 589 seconds, none of the above 
variations really matter!


So my remaining question for you Mark is this:
> P.S. This is an engine issue - we'll need to look into why there's such a
> difference with 6.7 - as, I'm pretty sure I kept the rules about extending
> buffers pretty much the same in string concatenation.

Do you have a sense of (a) how likely it is you'll have an "aha!" moment and 
(b) any idea of when you might have a chance to look at this. I'm just asking 
purely selfishly, because if it's soon I might get away without having to 
address my 5,000 line code jungle nightmare...!


Many thanks for this tip-off,

Ben


On 26/08/2021 12:23, Mark Waddingham via use-livecode wrote:

On 2021-08-25 18:15, Ben Rubinstein via use-livecode wrote:

I simplified it down to this (pointless) loop which just rebuilds a
table one line at a time:

   local tNewTable
   repeat for each line tRow in tWorkTable
  put tRow & return after tNewTable
   end repeat

with these results:

6.7.11 MacOS  8 seconds
6.7.11 Win32  7 seconds
9.6.3  MacOS  0 seconds
9.6.3  Win32    591 seconds


Using a buffer var should workaround the performance issue (which is related 
to the windows heap manager not being very good at continually re-extending a 
buffer):


on mouseUp
    local tLine
    repeat 256 times
   put "*" after tLine
    end repeat

    local tTime
    put the millisecs into tTime

    local tBuffer

    local tText
    repeat 257000 times
   put tLine & return after tBuffer
   if the number of codeunits in tBuffer > 50 then
  put tBuffer after tText
  delete codeunit 1 to -1 of tBuffer
   end if
    end repeat
    put tBuffer after tText
    answer (the number of codeunits in tText) & return & (the millisecs - tTime)
end mouseUp

In the original loop, tNewTable is continually extended internally, something 
which appears to cause O(n^2) performance on Windows.


In the revised loop, an intermediate buffer var is used which (after first 
time getting 'full') will have a backing store of 500k ish - meaning tText is 
extended much less often. (Playing with the value of 50 up or down will 
affect the resulting speed - there will always be a sweet spot).


On my Windows VM - the above loop (which generates about 68mb of text or so, 
takes about 3s.


Hope this helps!

Mark.

P.S. This is an engine issue - we'll need to look into why there's such a 
difference with 6.7 - as, I'm pretty sure I kept the rules about extending 
buffers pretty much the same in string concatenation.




___
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode


  1   2   3   >