Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Запуск проги


Автор: neic 31.5.2005, 21:01
Создал я одну тему не давно, не нашёл на форуме, ну да и всё равно не получил нормального ответа!

Теперь проблема заключаеться в том, что запуск файла в проекте(ну когда проект ещё не скомпилирован) осуществляеться, а когда выполняеться запуск файла с скомпелированого проекта, то запуск не удаёться.

Корче:
В проекте (не скомпелированом) эти строки(см. ниже) выполняються

Код:
Shell App.Path & "\" & List1.Text & "\Setup.exe", vbHide


А в скомпелированом проекте (*.exe) эти строки невыполняються!

Автор: Naghual 31.5.2005, 21:12
Перед этой строкой вставь такую:
Код
MsgBox App.Path & "\" & List1.Text & "\Setup.exe"


Откомпилируй приложение и посмотри что тебе покажет скомпиленная прога, и не скомпиленая.
smile

Автор: Voldemar2004 1.6.2005, 12:00
Цитата

А в скомпелированом проекте (*.exe) эти строки невыполняються!


И не удивительно. Вот и вкусный и полезный пример для тренировки:

на сайте http://www.vorbis.com стОит скачать несколько консольных утилит - там, где информация для девелоперов - пакет vorbis-tools-1.0.1-win32.zip.

ну две кнопки, Text1.Text, ComboBox
Код

Option Explicit

Private Sub Command1_Click()
Dim OggencEXE As String
Dim bitrate As String
Dim Path As String
Dim Value As Integer

' ну предположим ты скачал архив, а файл oggenc.exe лежит у тебя в
' "C:\Program files\My"
OggencEXE = "C:\Program files\My\" & "oggenc.exe"
bitrate = " --bitrate "
Value = Val(Combo1.Text) ' 64 или 128 например
Path = " " & Chr(34) & Text1.Text & Chr(34)
Shell (OggencEXE) & (bitrate) & (Value) & (Path), vbHide
End Sub

Private Sub Command2_Click()
CommonDialog1.Filter = "Sound Files (*.wav) |*.wav"
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
End Sub


Смотри, что получится smile

Модератор: А все остальное, как Naghual и сказал, было не в тему!

Автор: Voldemar2004 2.6.2005, 18:34
Извиняйте, тока стоит мне увлечься чем-то, так сразу забываю о чем начал говорить, больше не буду.

Автор: USSR_hacker 2.6.2005, 22:35
Ага! Вот она - ошибка. Я догадываюсь в чём проблема.

Не используй app.path, а используй вот это:
Код

Option Explicit
Public pp as string

Private Sub Form_Load()
    If Len(App.Path) = 3 Then pp = App.Path Else: pp = App.Path & "\"

End Sub


Path = app.path & "\File.txt"
------------------------------------------------------------------------------
Path = pp & "File.txt"

***

Обясняю: Когда мы пишем app.path & "\File.txt", если программа расположена в "C:\VB6\Projects", то нам возврщается C:\VB6\Projects\File.txt, а если она расположена в "C:\", C:\\File.txt.
Почему два \? Обратите внимание:
>>>>>>>> C:\ <<<<< в конце есть обратный слэш
>>> C:\Papka <<<<< в конце нет обратного слэша


Мой код добавляет к C:\Papka знак обратного слэша и не добавляет его к C:\, получяется C:\Papka\ .

Автор: cardinal 3.6.2005, 00:54
Сделай просто так
Код

pp = IIf(Len(App.Path) = 3, App.Path, App.Path & "\")

в том месте программы, где надо и не пользуйся глобальными переменными, если можно и без этого...

Автор: Black_Star 3.6.2005, 13:32
М-дя... я обычно пишу:
Код

ADR=app.path:if (right,1)<>"\" then ADR=ADR & "\"

ADR и есть полный путь к текущей папке...

Автор: cardinal 3.6.2005, 19:12
Ну можно и так...
Код

pp = IIf(Right(App.Path,1)="\", App.Path, App.Path & "\")

Автор: neic 6.6.2005, 16:09
Проблема решена, в конце строки просто надо было поставить не vbHide, a vbNormalFocus

Автор: Exception 7.6.2005, 15:21
Цитата(neic @ 6.6.2005, 17:09)
не vbHide

блина....
Цитата(neic @ 31.5.2005, 22:01)
эти строки невыполняються!

так они выполнялись!!!
просто окно было скрыто smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)