Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE2 (Pulsar)

Автор: LG Team
Дата сообщения: 09.07.2012 15:04
mdid

if DebugHook <> 0 then ShowMessage('Debug') else ShowMessage('Release');

второй вариант определения находится ли наш процесс под отладкой:

function degugMode;
var
Debug : LongBool;
begin
CheckRemoteDebuggerPresent(GetCurrentProcess(), Debug);
exit(degugMode);
end;

з.ы.

ай-яй-яй, это не то, не внимательно прочитал вопрос..
Автор: mdid
Дата сообщения: 09.07.2012 15:19
LG Team
или я не правильно выразился или вы неправильно поняли...мне не надо определять находится приложение под отладкой или нет...есть такая штука как Build Configuration с двумя типами компиляции проекта Debug и Release...мне надо что бы приложение определяло каким именно методом скомпиллено приложение


Цитата:
попробуй тогда проверять по наличию отладочной информации:

мм...а как?
Автор: LG Team
Дата сообщения: 09.07.2012 15:19
попробуй тогда проверять по наличию отладочной информации:

{$IFOPT D+}
showmessage('debug');
{$ELSE}
showmessage('release');
{$ENDIF}

з.ы.

(:
Автор: mdid
Дата сообщения: 09.07.2012 15:23
LG Team
спасибо то что надо...а то вечно забываю потереть свой пароль перед тем как выкладываю обновление...и в форме авторизации у усеров постоянно висит мой пас(( еще раз спасибо
ПС
теперь главное не забывать делать релиз билд))
Автор: Arioch1
Дата сообщения: 09.07.2012 16:17

Цитата:
придти в голову мысль написать клиент для своей системы на ipad/Mac - вполне здравая мысль


Для этого им нужно, чтобы такого клиента можно было бы на 80% писать/отлаживать под виндой.
Если же они готовы потратить время и м.б. деньги на изучения совсем другой среды и логики создания программ - то зачем им Delphi, если есть куда более нативный XCode ?

Без нативно-работающей среды узко-нативную программу разрабатывать... уже лучше на FMX
Цитата:
в форме авторизации у усеров постоянно висит мой пас(




Цитата:
Я про API доступ к Abstract Syntax Tree - было бы полезно

Это да, человеческий Find and replace... Эх...



Добавлено:

Цитата:
в форме авторизации у усеров постоянно висит мой пас

Так ты не шей его в программу. Пропиши его в файле или в реестре и грузи себе из OnCreate.
У юзеров такого ключа не будет и останется пустое поле.

Все равно ввнутрь DFM условную компиляцию не засунешь.
Автор: deks
Дата сообщения: 09.07.2012 19:32
Arioch1

Что мешает делать как сейчас-откладку на удаленной машине?) Среда может работать в виртуалке! А как реализован GUI - для такой схемы работы не принципиально. У меня осн комп-это мак. Под виртуалкой все работает ок))

Беда FMX - низкая производительность под iOS. Это не исправится - только код системы работает с максимальным приоритетом. Любая эмуляция на уровне программы имеет более низкий приоритет.. В общем, или железо нивелирует проблемы производительности, или надо делать нативный уровень GUI.
Автор: Arioch1
Дата сообщения: 09.07.2012 19:40
а зачем, если можно отлаживать в XCode нативно ?
Если конечно про iOS можно вообще говорить о нативности...

Ну не смогут они сделать еще два CLX'а, под обе Макинтошевские системы, да ещё чтобы это хотя бы имитировало работу в Windows в design-time. Я пробовал Kylix 1 - тормозило ужасно. Не думаю, что с iOS было бы сразу лучше.

Зато не было бы даже в проекте FMX, не было бы возможности разрабатывать программы под Windows и под MacOS одновременно
Автор: Frodo_Torbins
Дата сообщения: 09.07.2012 21:46
mdid
У меня из дебаг конфигурации выведена DebugNoLogin в которой определен дефайн NOLOGIN. Соответственно в коде:
Код: {$IFDEF NOLOGIN}
//грузимся сразу с админским акком
{$ELSE}
//показываем форму авторизации
{$ENDIF}
Автор: Samotek
Дата сообщения: 10.07.2012 09:45
mdid
А мне например все равно дебаг или релиз. Я сделал проверку имени машины и имени пользователя (можно еще папку определить) на свои и тогда вхожу админом. Ведь можно по ошибке и дебаг сборку выложить Можно и еще какие-то фичи придумать - например искать где-то определенный файл...
Автор: mdid
Дата сообщения: 10.07.2012 10:23
Samotek
то есть у вас нельзя зайти в программу если пользователь и имя компа не совпадают? зачем?
у меня настройки усера у каждого лежат в папке с программой...там как настройки для каждого журнала так и общие...вот из общих настроек у меня подтягивается имя усера...пароль нигде не храню...но для пущего удобства на время дебага вписываю пас админа в эдит формы авторизации
и теперь благодаря LG Team я при создании формы авторизации просто очищаю эдит с паролем

а вот ваш подход я не совсем пойму...даже не пойму что он дает...какова вообще цель привязки?
Автор: Arioch1
Дата сообщения: 10.07.2012 10:24
> Я сделал проверку имени машины и имени пользователя (можно еще папку определить) на свои и тогда вхожу админом.

Ну то есть админский пароль у тебя в программе содержится

> можно по ошибке и дебаг сборку выложить
угу.
и файл там может случайно совпасть и что угодно.

Потому и брать админский пароль можно с того файла/реестра локального, который в сборку ну никак не попадает, даже в дебаг-версии
Автор: LG Team
Дата сообщения: 10.07.2012 10:43

Цитата:
я при создании формы авторизации просто очищаю эдит с паролем


в данном случаи ваш пароль без проблем можно узнать.
для интереса посмотрите _http://kpnc.org/idr32/ru/examples.htm

если уж так построили логику, то лучше в коде приложения определять дебаг режим и при нем заполнять с кода поле пароля а не наоборот очищать.
Автор: Samotek
Дата сообщения: 10.07.2012 10:51
mdid

Цитата:
то есть у вас нельзя зайти в программу если пользователь и имя компа не совпадают? зачем?

Не так. Если совпадают с моими, входит автоматом с админскими правами. Если не совпадают - машина юзера - пусть логин вводит.

Цитата:
какова вообще цель привязки?

Так как я сотню раз на дню запускаю приложение для отладки, мне не надо вводить логин и пароль, а по правам - мне доступно все. Если же мне надо проверять настройку прав, то я ввожу только логин пользователя без его пароля(чтоб не выяснять его пароль), а в программе обрабатываю, будто бы он ввел правильно и дальше работаю с правами пользователя. Так можно делать, конечно не везде и не всегда, но при работе на одну фирму мне так удобно.
Автор: mdid
Дата сообщения: 10.07.2012 10:59
LG Team
понимаете...нет смысла заботиться о том что узнают мой пароль..когда у меня 99% усеров ставят свой день рождения в качестве своего пароля...и как минимум у 3 есть полный доступ...и как я не бастовал и к директорам не ходил...это бестолку...но выводы сделал...создал ини файл и в режиме дебага считываю от туда пас
Автор: Samotek
Дата сообщения: 10.07.2012 11:10
Arioch1

Цитата:
Ну то есть админский пароль у тебя в программе содержится

Нет - программа просто считает, что пароль правильный.

Цитата:
Потому и брать админский пароль можно с того файла/реестра локального, который в сборку ну никак не попадает, даже в дебаг-версии

Пароль надо держать как можно дальше. Я, например сделал сервис на сервере, который возвращает программе пароль базы.
Можно в принципе хранить и в программе, но в виде шифрованных символьных строк, которые в ран тайм дешифрируются. Такое то-же без дезассемблирования не вскроешь, но такой вариант мне даже и рассматривать не надо - и такой защиты достаточно
Автор: mdid
Дата сообщения: 10.07.2012 11:15
Samotek
то есть я правильно понял...кто угодно садится за машину и получает доступ к БД?
Автор: Samotek
Дата сообщения: 10.07.2012 11:34
mdid

Цитата:
то есть я правильно понял...кто угодно садится за машину и получает доступ к БД?

Да, любой, кто на моей машине зашел в виндовс под моим логином получает полный доступ к возможностям программы.
Автор: XPerformer
Дата сообщения: 10.07.2012 11:42

Цитата:
то есть я правильно понял...кто угодно садится за машину и получает доступ к БД?

Как правило, за отлучку с рабочего места при незалоченной рабочей станции применяются административные санкции (стих практически)
Автор: Arioch1
Дата сообщения: 10.07.2012 17:07
если "кто угодно садится за машину" разработчика/сисадмина, то завтра в программе будут не только кейснифферы, но и любые более хитрые закладки.

так что на это закладываться я тут смысла не вижу
Автор: ppkp
Дата сообщения: 11.07.2012 18:49
Может не по теме вопрос. На чистую Windows XP SP3 агент Windows Update Agent 7.6.7600.256 загружается. На установленную Delphi XE тоже. А на Delphi XE2 не видно его и ничего не предлагает. Связано это как-нибудь с сабжем?
Автор: Frodo_Torbins
Дата сообщения: 11.07.2012 20:46
ppkp
Я ничего не понял, что вы имели ввиду. Но сегодня на одном компе с XP SP3 пришлось переустанавливать обновлятор винды. Делфи этот комп никогда в жизни не видел. На остальных машинах с ХРенью запросило новый актив икс при проверке обновлений через браузер.
Автор: ppkp
Дата сообщения: 11.07.2012 22:56
Frodo_Torbins
MS зарелизил новый агент обновления (обновлятор). Так он предлагает себя установить на всем, кроме системы с Delphi XE2. Может такое у кого встречалось? Если это оффтоп - прошу извинить.
Автор: deks
Дата сообщения: 12.07.2012 09:58
ppkp

У меня только машины с XE2)) Причем, Win7.. Так что затестить не могу))

А есть # KB? Что мешает его загрузить как автономное обновление и установить "рукми"?
Автор: Frodo_Torbins
Дата сообщения: 12.07.2012 11:08
ppkp
У меня в аналогичной конфигурации с обновлятором все прошло гладко. Видимо у вас обычный глюк винды.
Автор: deks
Дата сообщения: 01.08.2012 14:03
Arioch1

[Чтобы на нас не ругались, переходим из Варезника сюда с обсуждением про XE3]

.. Инсталлятор под Mac нужен, чтобы устанавливать компоненты на маке, которые взаимодействют со студией, которая, в свою очередь, только под Винду. Компоненты - это клиент для удаленной отладки и запуска программ, а также взаимодействие с XCode для подписания и деплоя программ на iOS.

хрен бы с ним, с инсталлятором - хотя почему бы не сделать типовой инсталятор, который есть у каждой компоненты под Mac? для FMX смогли ж сделать типовой инсталятор?

Вот лучше бы они завязали писать эмуляцию пользовательского интерфейса! Или дали бы выбор - биндинги нативного интерфейса, или FMX
Автор: Arioch1
Дата сообщения: 01.08.2012 15:11
с биндингами проблема будет другая - как на винде это разрабатывать и отлаживать ?

Ладно CLX - под винду етсь официальные версию QT
Билдер когда-то хотели переписать на wxWidgets по слухам - та же фигня.

Но как маковские нативные виджеты на винде запускать, в насквозь виндовой IDE? OpenStep ? так он линуксовый и от Мака отстал лет на 10.


Опять же, как тогда кросс-платформенные программы делать, чтобы эппловские виджеты на винде запскались у клиента ?

Автор: SolidSnakeRU
Дата сообщения: 01.08.2012 15:42
Им надо было сделать вот как:
Ставим удаленный отладчик, настраиваем папки экспорта исполняемых файлов.
Все целим на нужную платформу (на Мак, а в перспективе на любую другую), например. Затем, приложение запускается всегда удаленно, а на виндовую машину переносится его окно (чтоб было что-то вроде RemoteApp но с отладкой).
И все - никаких проблем. Делаешь под мак - запускается на маке, делаешь под линукс - на линуксе все в своей среде.

Либо, сделать IDE под нужные платформы - как у Adobe, хочешь под винду - пожалуйста, хочешь под мак - тоже.
Изврат с эмуляцией целевой платформы прямо на винде это конечно хорошо, но всегда будет хуже.
Автор: HeMet
Дата сообщения: 01.08.2012 17:47

Цитата:
Либо, сделать IDE под нужные платформы - как у Adobe, хочешь под винду - пожалуйста, хочешь под мак - тоже.

У них и так планы наполеоновские, а это ещё один неприподъемный труд. Лучше уж, что есть пусть до ума доведут. А то баги вылезают в самых неожиданных местах.

Цитата:
Или дали бы выбор - биндинги нативного интерфейса, или FMX

В той теме с «инсайдерской» информацией Девид Интерсимоне сказал, что именно это они и планируют сделать в рамках FireMonkey.
Автор: Arioch1
Дата сообщения: 01.08.2012 18:24

Цитата:
Затем, приложение запускается всегда удаленно, а на виндовую машину переносится его окно (чтоб было что-то вроде RemoteApp но с отладкой).


Это конечно прекрасно, а как делать IDE Form Designer ?

Вы забываете, что в Delphi 1 (это какой год? 94й ? 95й ?) было революционого. Это были VCL. Одни и те же библиотеки, работающие как в среде, так и в готовой программе, и написанные в той же самой среде на том же самом языке.
поправка: тогда - до появления пакетов в D3 - это была одна библиотека. Просто для точности.

Вы предлагаете сделать библиотеку виджетов, которые запускаются только на Макинтоше и ни в коем случае на Винде. Т.е. Form Designer и Object Inspector сразу перестали работать, как будто их и не было.
Привет OWL или даже редактор ресурсов, как было до Delphi. Да, так тодже можно. Но намног оменее удобно.

Да, кстати, не забудем, что будут нужны две нативные библиотеки - под MacOS и под iOS. Они похожи, но насколько помню, не идентичны.

....тогда уж надо сразу делать интерфейс на HTML5 и забыть про нативные контролы вообще.
Автор: AlxMonster
Дата сообщения: 01.08.2012 18:51

Цитата:
Либо, сделать IDE под нужные платформы
Eclipse. Но это у них еще года на 3 затянется.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738

Предыдущая тема: Как сделать offline версию сайта со встроенным браузером?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.