Несколько вопросов (дурацких наверное)

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

MYF
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 12.05.2006 (Пт) 6:38
Откуда: Череповец

Несколько вопросов (дурацких наверное)

Сообщение MYF » 16.10.2007 (Вт) 17:53

В принципе программирую я давно. Но всё больше под DOS и VBA. Но вот срочно поребовалось написать простенькое приложение под Windows. Установил Visual Studio 2005 + MSDN. За вечер наваял...
Идея приложения: Сам файл с настройками лежит на сервере. Запускается с рабочей станции. Сам ориентируется на местности. Вытаскивает с разных серверов пакет файлов и раскидывает по папкам рабочей станции. По ходу дела пишется лог в RichTextBox.
Когда приложение было скомпилировано и опробовано выложил его на сервер. Тут же вылезли вопросы.

1. При запуске с сервера на тойже машине, где только что откомпилировал, выскакивает сообщение (я так понял, что от отладчика)
just-in-time (JIT) писал(а):************** Exception Text **************
System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
там ещё куча такого же не на одну страницу. На другой машине запустился нормально.
Подскажите, что с этим делать?

2. Оказалось, на 70% машин не установлен .NET - не было надобности до сих пор. А приложение вот уже готово. Можно как-то его побыстрому перекроить на... короче без .NET?

3. Когда в RichTextBox пишется лог, в определённый момент приостанавливается работа и выводится сообщение тапа "нажмите кнопку". Потом лог продолжается. Как стереть эту надпись, чтобы не позорила? Что-то побыстрому в справке не нашёл.

asharky
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 22.06.2004 (Вт) 0:39
Откуда: Батоны-ларьки-поребрики...

Re: Несколько вопросов (дурацких наверное)

Сообщение asharky » 16.10.2007 (Вт) 21:18

MYF писал(а):2. Оказалось, на 70% машин не установлен .NET - не было надобности до сих пор. А приложение вот уже готово. Можно как-то его побыстрому перекроить на... короче без .NET?
По быстрому никак. В .NET как бы движок почти всего, что у тебя вертится, размещен.
В культурной столице проститутки берут книгами...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.10.2007 (Ср) 7:04

1. Ругаецца на права доступа. Возможно по причине того, что прога лезет в сеть... скажем так неправильно.
2. Можно, но не на NET, NET без FW не робит.
3. И откуда же берется эта надпись?

Короче, код в студию!
Весь мир матрица, а мы в нем потоки байтов!

MYF
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 12.05.2006 (Пт) 6:38
Откуда: Череповец

Сообщение MYF » 17.10.2007 (Ср) 8:24

3.Надпись, естественно я вывожу:
Код: Выделить всё
rtbLog.AppendText("Настройки загружены, нажмите кнопку [Старт]" & vbLf)
Теперь юзер нажимает Button, и запускается собственно интеллектуальная копировалка кучи файлов из разных мест в кучу локальных папок. По ходу дола пушется, что и куда пошло...
Я хочу перед началом копирования подчистить последнюю строку "... нажмите [Старт]". Т.к. потом этот лог копируется в файл, а там она смотрится как-то странно.
Кстати, была задумка писать имя файла черным цветом, а потом если скопировался(или нет), перекрасить в зеленый(красный). Как это можно сделать?

1.Да вроде как если и на права доступа, то не к серверу. Потому, что в самом начале только проверяется наличие файла настроек и считывает параметр из реестра. Примерно так (если выкинуть манипуляции с параметрами,украшения и проверки):
Код: Выделить всё
BasPath = My.Computer.Registry.GetValue("HKEY_CLASSES_ROOT\Software\Fix Dynamics\BASPATH", "", Nothing)
AppPath = Application.ExecutablePath
InfFile = System.IO.Path.ChangeExtension(AppPath, "inf")
If Dir(InfFile) = System.IO.Path.GetFileName(InfFile) And _
   BasPath <> "" _
  Then
    rtbLog.AppendText("Настройки загружены, нажмите кнопку [Старт]" & vbLf)
  Else
    rtbLog.AppendText("Не найден файл настроек " & InfFile & vbLf)
  End If
как видно, если приложение запускается локально, то и в сеть оно не полезет (пока).

2. Жаль. Подозреваю, даже манипуляции со строками придётся переписывать...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.10.2007 (Ср) 12:45

1. Таки на какой же код ругается?
2. Дык, установи FW и айда пошел... Ну или да, писать на другом языке (VB, C, C++, Delphi и так далее).
3. И? В чем проблемы то? Не выводи строку. Насчет красного и черного, можно. в Поиск (RichTextBox, цвет текста и так далее).

З.Ы. Не покидает ощущуение, что автор не может донести свою проблему изложенную честким ясным языком.
Весь мир матрица, а мы в нем потоки байтов!

MYF
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 12.05.2006 (Пт) 6:38
Откуда: Череповец

Сообщение MYF » 17.10.2007 (Ср) 14:48

Не покидает ощущуение, что автор не может донести свою проблему изложенную честким ясным языком
зря Вы так. Чего тут непонятного?

1. При запуске, когда ещё не появилось окно приложения, выскакивает вот это самое окошко с длинным сообщением. Предлагает выбрать продолжить или отменить. Выберешь отменить - всё пропадает так и не появившись. Выберешь продолжить - окно приложения появляется, но дальше дело не идёт.
Самое странное, что на одной и той же машине запускается локально, но не запускается из сетевой папки.

2. Проблематично установить FW штук на 50 машин... Вобщем-то и приложение пишется для того, чтобы не лазать по ним. Эх, придётся наверное переползать на что-то другое. А только въезжать начал...

3. Проблема в том, что выводить её нада. Кагда нада. А потом нада стереть, когда строка уже не нада. Вот я и спрашиваю, как её удалить? В справке посмотреть конечно же и сам догадался. И про раскраску текста тоже. Только что-то ни чего не нашёл. Или искал не так.

PS. На всякий случай. На сервере, откуда грузится приложение, тоже установлен FW 2.0. Копирую туда только EXE. Может ещё чего надо скопировать из проекта?

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 19.10.2007 (Пт) 4:41

MYF писал(а):
Не покидает ощущуение, что автор не может донести свою проблему изложенную честким ясным языком
зря Вы так. Чего тут непонятного?

1. При запуске, когда ещё не появилось окно приложения, выскакивает вот это самое окошко с длинным сообщением. Предлагает выбрать продолжить или отменить. Выберешь отменить - всё пропадает так и не появившись. Выберешь продолжить - окно приложения появляется, но дальше дело не идёт.
Самое странное, что на одной и той же машине запускается локально, но не запускается из сетевой папки.

2. Проблематично установить FW штук на 50 машин... Вобщем-то и приложение пишется для того, чтобы не лазать по ним. Эх, придётся наверное переползать на что-то другое. А только въезжать начал...

3. Проблема в том, что выводить её нада. Кагда нада. А потом нада стереть, когда строка уже не нада. Вот я и спрашиваю, как её удалить? В справке посмотреть конечно же и сам догадался. И про раскраску текста тоже. Только что-то ни чего не нашёл. Или искал не так.

PS. На всякий случай. На сервере, откуда грузится приложение, тоже установлен FW 2.0. Копирую туда только EXE. Может ещё чего надо скопировать из проекта?


такс, давай по порядку:
1. если я правильно понял, то смотри п. 3
2.хех, а что мешает ночью запустить установку FW на все машины? если все настроить, то машины все сделают сами, а ты будешь 10-й сон в это время видеть или пиво пить :)
на крайняк при входе юзера в домен, прописать строчку в нетлогоне.бат с запуском установки.
в общем я тут вообще проблемы не вижу. Точнее это не проблема чтобы отказываться от управляемового кода и все благ .нет технологии

3. самое простое что приходит в голову это вызвать реплейс и заменить не нужную строку на пустую.
а на счет цветного текста, то вот те ссылочка [url]http://bbs.vbstreets.ru/viewtopic.php?t=24616&sid=c15b00cfa267bae58cd06adac0931ea0
[/url]

ЗЫ. между прочим ссылку нашел простым вводом в яндексе RichTextBox +цвет текста (вторая ссылка)
что то мне подсказывает что если в поиске по форуму ввести RichTextBox и просмотреть топики, то ты на неё обязательно наткнешься :lol:
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

student-uni
Бывалый
Бывалый
 
Сообщения: 242
Зарегистрирован: 01.10.2005 (Сб) 18:54

Сообщение student-uni » 20.10.2007 (Сб) 16:42

Да вроде как если и на права доступа, то не к серверу. Потому, что в самом начале только проверяется наличие файла настроек и считывает параметр из реестра


Так как раз на чтение из реестра и нужны права.
Читай про контексты безопасности. "Локально" и "по сети" - это в разных контекстах. Если лень - могу дать совет запусти прогу через CreateProcessWithLogon(Админ), или во Фреймворке 2 0 есть ПроцессСтарт (с логином админа), тогда вся дребедень с правами доступа исчезнет, но чем конечно снизится безопасность системы,
т.к. ты даёшь проге полный аксесс, вместо того чтоб давать
права только на точто ей нужно

Оказалось, на 70% машин не установлен .NET - не было надобности до сих пор. А приложение вот уже готово. Можно как-то его побыстрому перекроить на... короче без .NET?



2. Проблематично установить FW штук на 50 машин... Вобщем-то и приложение пишется для того, чтобы не лазать по ним. Эх, придётся наверное переползать на что-то другое. А только въезжать начал...


ДотНет Фреймоворк это не какой то тулз который можно чем то заменить, типа "с ним" и "без него".

Это достаточно мощный инструмент для написания
сложных приложений и не одним а комадой программеров.

Можно конечно написать и простое приложение, но это
может стать стрельбой из пушки по воробьям,
(напр Нет смысла установливать фреймворк на 50 машин)
ПРи разработке большого проекта такие вопросы не встают.

Почитай Эплмана, про преимущества (и недостатки) управляемого кода. Тогда может оценишь.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

    TopList  
cron