[server] using STACKS within ON-REV
Pierre Sahores
psahores at free.fr
Mon Aug 1 17:43:29 EDT 2011
Problem solved : no need to care about the global vars declarations (unchanged). My problem was lying in the fact that LC-Server stacks libs statements needs to be addressed as functions or commands and that direct statements alike :
<?lc
if
then
else
are only allowed inside flat .lc scripts.
Best,
Pierre
Le 1 août 2011 à 20:20, Pierre Sahores a écrit :
> Hi Friends,
>
> Is there some special precautions to take in about global variables management and share between lc flat scripts and the stacks libs referenced on top of the lc script ?
>
> My habit is to declare all my global vars on top of both the lc scripts (witch works fine) :
>
>> global var1,var2,etc...
>>
>> function onef params
>> ...
>> end onef
>>
>> function twof
>> ...
>> end twof
>>
>> command onec
>> ...
>> end onec
>>
>
> and in the stack script (lib)
>
> witch don't seems to be seen by the lc script after i include
>
>> start using stack <path to stack>
>
>
> while the stack is clearly well seen by the script (functions no using vars are well executed by the lc script)
>
> Where am i wrong and what means that the globals are not dynamically viewable in between the lc scripts and stack-lib.livecode library ?
>
> Thanks for any help.
>
> I hope not to have to declare each global used by the stack lib below each function / command declaration alike this
>
>> function onef
>> global var1
>> ...
>> end onef
>
>
> Kind regards,
>
> Pierre
>
>
> Le 1 août 2011 à 19:30, J. Landman Gay a écrit :
>
>> On 8/1/11 10:40 AM, Robert Mann wrote:
>>
>>> This is the very simple test I made :: made a simple "teststack.livecode" in
>>> the IDE : it contains 3 cards and 3 fields, and a few test functions.
>>> Dropped it in a test folder on my on-rev account, and added an index.lc file
>>> at the same level.
>>>
>>> problems ::
>>>
>>> 1) go stack DOES NOT work
>>>
>>> 2) start using stack, seems to swallow all handlers from stackTest into the
>>> HOME stack, so that they loose all the context of their original stack.
>>>
>>> 3) fields on cards can be accessed IF THE name of the stack is precised each
>>> time.
>>>
>>> So that requires to write handlers in a different way, a standard stack
>>> will break very easily on the server if an implicit ref. to a field is used.
>>>
>>> Any comment? Do I get it right? does "go stack work for some?
>>
>> These things have always been true of all server-related syntax, including the old CGI method. "Go" is a GUI command, and includes an instruction to redraw a card. The server has no GUI, so a redraw throws an error. Instead of "go", just reference the card remotely.
>>
>> Long object names have also always always been required for all server work. The rule of thumb is to always use long object names, never try to navigate within a stack, and always use remote references:
>>
>> go card 1 -- fails
>> go stack "testStack" -- fails
>> get the text of field 1 of card 1 of stack "testStack" -- works
>>
>> The "start using" command has also always been required. It is the only way to implement a library script on a server.
>>
>> I don't think there is a Home stack on a server; there are only libraries that sit behind the web page in the hierarchy.
>>
>> From my old CGI tutorial <http://www.hyperactivesw.com/cgitutorial/scripts1.html#trouble>:
>>
>> <quote>
>> Some native Revolution commands that don't work (and may hang your script) are:
>>
>> go - requires a GUI window redraw
>> toplevel - GUI-based
>> modeless (or any other stack modes) - GUI-based
>> create stack (or any file creation) - CGI permissions restriction
>> save stack (errors with "can't open stack backup file") - permissions restriction
>> beep - GUI-based
>> </quote>
>>
>> I haven't worked with the new server yet, but since the current directory on the server is outside the CGI-bin folder, creating new stacks and files would be possible, unlike the old CGI method in the tutorial.
>>
>> --
>> Jacqueline Landman Gay | jacque at hyperactivesw.com
>> HyperActive Software | http://www.hyperactivesw.com
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>
> --
> Pierre Sahores
> mobile : (33) 6 03 95 77 70
>
> www.woooooooords.com
> www.sahores-conseil.com
>
>
>
>
>
--
Pierre Sahores
mobile : (33) 6 03 95 77 70
www.woooooooords.com
www.sahores-conseil.com
More information about the use-livecode
mailing list