Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
Мое приложение вытащили на сервер с терминальными сессиями... около 30.
Есть некоторое кол-во параметров присущих пользователю и я их обернул через:
а как вы это решили? ------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Terminal Session | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Ну я бы добавил префикс m. для переменных.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
Зачем? ------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Terminal Session | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Если будет одноименное поле, то значение возьмется из курсора. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Terminal Session | |
---|---|
Равиль Сообщений: 6547 Откуда: Уфа Дата регистрации: 01.08.2003 |
Немного по-другому, не помню почему так сделал ) user_name = Alltrim(GetwordNum(Sys(0), 2, "#")) дополнительно использую Id сессии - удобно если один юзер может войти в несколько сеансов на серваке (если это разрешено) Но рабочую папку юзера для временных файлов создаю сам, где удобно - есть у меня некоторое недоверие к системным папкам ) ------------------ Тяжело согнать курсором муху с монитора ... |
Re: Terminal Session | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
GETENV - это практически единственный источник инфы для проги, которая запущена в терминале
SYS(2023) - вроде - это путь к системной папке винды, или к "SET TMP" юзера (не важно), главное штатно, работает всегда (ну, если юзер не поменял, и не потребовалось неестественного, типа нужен ТМП-файл, а он на ССД 256Г, а нужно 1Тб временного файла, всякое бывает) |
Re: Terminal Session | |
---|---|
andrewk Сообщений: 174 Откуда: Красноярск Дата регистрации: 15.05.2005 |
OsUserName – так же, через GetEnv("UserName"), проблем не было. Нужно помнить, что GetEnv("UserName") под обычной ОС возвращает не то, что юзер видит в панели управления в «учётных записях». Например, создаём пользователя "Вася", заходим под ним, пароль, все дела. А потом в панели меняем имя на "Василиса Петровна". Однако %UserName% останется Вася, и папка в %UserProfile% тем более. И на другие компы по сети этот комп будет пытаться зайти с логином Вася и текущим паролем. Поменять «реальное» имя пользователя можно в "control.exe UserPasswords2". Про рабочую папку. Солидарен с Равилем. Делаю «общую» рабочую папку для проги. Если прога запущена под RDP, то в этой общей папке создаю подпапку =OsUserName() и иду в неё – поскольку зачастую в качестве RDP-сервера выступает обычная рабочая машина одного из пользователей. Если же между сеансами одного пользователя никакие данные сохранять не нужно (всякие настройки, выходные файлы...), то в качестве рабочей можно вообще использовать %temp%. На серверных осях есть клёвая настройка типа «удалять %temp% при закрытии сеанса», тогда вообще можно за собой не чистить. Мой рабочий кусок |
Re: Terminal Session | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
О йЕ! )
|
Re: Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
Практикуй...тесь.
------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
я применяю GATHER NAME to <ObjectName> ООП рулит. ------------------ Говорить стоит лишь для тех, кто слушает. Исправлено 1 раз(а). Последнее : Vedmak, 19.05.23 20:58 |
Re: Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
Не вникал в твое приложение.. к По тексту... Declare такая же конструкция для компилятора как и include... втыкать между строе колда смысла нет ------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
Заявить обращение к внешему API надо объявить в стартовом PRG. Компилятор всем модулям про это расскажет.
------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Terminal Session | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Заявить обращение к внешему API надо объявить в стартовом PRG. Компилятор всем модулям про это расскажет.
... это ты о VFP ... Если да, то страшно подумать, как мы/вы писали на этом ЯП ) Исправлено 1 раз(а). Последнее : of63, 19.05.23 21:50 |
Re: Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
ПИши внятно ------------------ Говорить стоит лишь для тех, кто слушает. |
Re: Terminal Session | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
В н Я Т Н О
вроде, правильно написал ? |
Re: Terminal Session | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Не обнаружил в приведенном коде обьекта, выднли жирным шрифтом где в коде используется обьект и его св-ва.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Terminal Session | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
|
Re: Terminal Session | |
---|---|
andrewk Сообщений: 174 Откуда: Красноярск Дата регистрации: 15.05.2005 |
Эмм... Да вроде как нет. Help: #INCLUDE Preprocessor Directive При этом обращаться к константам в коде можно только ниже по тексту после #Include. И директиву нужно втыкать в каждый отдельный PRG, а не один раз где-то на старте. DECLARE - DLL Command Именно команда, а не директива компилятору. Фактически, полностью аналогичная "SET PROCEDURE TO ...", но со ссылкой не на фоксовый модуль, а на DLL. Я к тому, что #INCLUDE и DECLARE – это совершенно разные вещи. После выполнения этой команды «в программе появляется ещё одна функция». Да, эта новая функция потом доступна в любом месте программы. Поэтому да, если функция нужна в разных местах, есть смысл выполнить команду DECLARE один раз где-то на старте, а не перед каждым использованием объявляемой функции. В моём примере тот кусок кода, где declare, выполняется только в исключительных случаях – только когда GetEnv("SessionName")=="", а это бывает только когда exe-шник запущен «от имени администратора» (с другими случаями я не сталкивался). А объявляемые там WinAPI-вызовы в других местах лично мною больше нигде не используются. Поэтому эти declare я и не вынес отдельно на старте. Ну простите, уж так получилось Да я на самом деле, когда копировал сюда этот код, и не думал, что кто-то особо вчитываться будет. А на дворе было полчетвёртого утра, навести красоту сил уже не было) |
Re: Terminal Session | |
---|---|
akvvohinc Автор Сообщений: 4203 Откуда: Москва Дата регистрации: 11.11.2008 |
Абсолютно неверное представление о том, что такое директивы препроцессора, и чем они отличаются от команд. "Компилятор всем модулям про это расскажет" - у меня не хватает воображения, чтобы понять, что скрывается под этой фразой. "Компилятор рассказывает..." - опишите более подробно, что, по-вашему, происходит, когда компилятор обрабатывает команду Declare. |
Re: Terminal Session | |
---|---|
Vedmak Сообщений: 5949 Откуда: CiTY Дата регистрации: 30.10.2003 |
Не рубите голову, был нетрезв! Я #Define имел ввиду... ------------------ Говорить стоит лишь для тех, кто слушает. Исправлено 1 раз(а). Последнее : Vedmak, 13.06.23 19:13 |
© 2000-2024 Fox Club  |