Текущий архив: 2006.04.09;
Скачать: CL | DM;
ВнизПомогите исправить процедуру Найти похожие ветки
← →
Adios © (2006-03-21 23:29) [0]компилятор ругается типа "error seting path: "\Data Files\UninstallMod"", может я чего не досмотрел?
procedure gameexists(Sender: TObject);
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
if R.KeyExists("SOFTWARE\\Bethesda Softworks\\Morrowind") then
begin
game:=R.Readstring("Installed Path");
lit:=ShortToLongFileName(game);
r.WriteString("Installed Path",lit);
if fileexists(R.Readstring("Installed Path")+"\Morrowind.exe") then
begin
game:=R.Readstring("Installed Path");
end
else
search.ShowModal;
end;
if directoryexists(game+"\Data Files\UninstallMod")=false then
begin
CreateDir(game+"\Data Files\UninstallMod");
uninstallpath:=game+"\Data Files\UninstallMod";
mainform.uninst.Root:=uninstallpath;
end;
if directoryexists(game+"\Data Files\UninstallMod") then
begin
uninstallpath:=game+"\Data Files\UninstallMod";
mainform.uninst.Root:=uninstallpath;
end;
r.CloseKey;
r.Free;
end;
← →
Джо © (2006-03-21 23:45) [1]> компилятор ругается типа "error seting path: "\Data Files\UninstallMod""
Не верю.
← →
Игорь Шевченко © (2006-03-21 23:53) [2]Джо © (21.03.06 23:45) [1]
> Не верю.
Я тоже не верю. Прямо клуб атеистов какой-то.
Но такое сообщение (не компилятора, а того, кто чуть позже него) будет, если переменная game равна пустой строке.
← →
Adios © (2006-03-22 00:17) [3]она не может ровняться пустой строке, потомучто в Readstring("Installed Path"); полюбому есть значение, а если нет, то должно выскакивать модальное окно, которое делает ветку реестра и game всёравно назначается, и ещё выскакивали разные ругательства связанные с этой процедурой, например EregistryExsception с сообщением типа не может установить значение для "Installed Path", это выскакивает если все нужные ветки реестра существуют, а если их нет, то тогда такое, EAkcessViolation
← →
Плохиш © (2006-03-22 00:47) [4]
> if R.KeyExists("SOFTWARE\\Bethesda Softworks\\Morrowind")
> then
> begin
> game:=R.Readstring("Installed Path");
1. Это, что и в справке написано, что так путь писать надо?
2. Ключ открывать Пушкин должен?
3. Отладчик в делфи, как думаешь, для кого встраивали?
← →
Adios © (2006-03-22 01:10) [5]что за EAkcessViolation ошибка? там типа он не по адресу обратился?
← →
Плохиш © (2006-03-22 01:15) [6]
> Adios © (22.03.06 01:10) [5]
> что за EAkcessViolation ошибка? там типа он не по адресу
> обратился?
Ну, куда просил, туда и обратился. см. п. 3 в [4]
← →
Adios © (2006-03-22 01:18) [7]это тот который с 1 и 0, я таким не умею пользоваться
← →
Adios © (2006-03-22 01:27) [8]если не в лом, объясни поподробней про отладчик
← →
Германн © (2006-03-22 02:08) [9]
> Adios © (22.03.06 01:27) [8]
>
> если не в лом, объясни поподробней про отладчик
>
Эта тема заслуживает раздела в книге по Делфи. Врядли Плохиш © возьмётся тут "объяснять поподробней". Хотя это не мне решать.
← →
Adios © (2006-03-22 02:10) [10]хотя бы как его включить, а там дальше уже другой разговор будет
← →
Германн © (2006-03-22 02:17) [11]
> Adios © (22.03.06 02:10) [10]
>
> хотя бы как его включить, а там дальше уже другой разговор
> будет
Если ты про отладчик, то его "включать" не надобно. Он и так всегда включён. Тебе нужно просто воспользоваться им.
← →
Джо © (2006-03-22 02:22) [12]> [10] Adios © (22.03.06 02:10)
> хотя бы как его включить, а там дальше уже другой разговор
> будет
В данном случае нужно установить т.н. "точку останова" (break points). Они устанавливаются щелчком на левом gutter"e (полоска слева от редактора кода) . Установливаешь этиточки на нужных строках программы. По достижению этой строки в процессе выполнения программы, выполнение приостановится. Посмотреть текущее значение переменной несложно — достаточно навести на идентификатор указатель мыши и задержать его на пару секунд.
Также полезно знать комманды пошагового выполнения, вызываются клавишами F8 и F7.
← →
Джо © (2006-03-22 02:24) [13]А вообще, купи или скачай книгу, в которой описывается работа со средой Делфи, в частности, возможности встроенного отладчика.
← →
Германн © (2006-03-22 02:39) [14]
> Джо © (22.03.06 02:22) [12]
>
> Посмотреть
> текущее значение переменной несложно — достаточно навести
> на идентификатор указатель мыши и задержать его на пару
> секунд.
>
Достаточно ли?
А если применён оператор with?
А влияние оптимизатора?
Это только примеры.
← →
Джо © (2006-03-22 02:43) [15]> [14] Германн © (22.03.06 02:39)
> Достаточно ли?
Конечно, нет. Затем и добавил постфактум [13].
← →
Германн © (2006-03-22 02:52) [16]
> Джо © (22.03.06 02:43) [15]
>
> > [14] Германн © (22.03.06 02:39)
> > Достаточно ли?
>
> Конечно, нет. Затем и добавил постфактум [13].
Да. Но увы и я не смог ясно дать понять "пользу книги о Делфи".
← →
Adios © (2006-03-22 04:23) [17]Я решил проблему!, правда пол кода переписать пришлось, зато работает:)
← →
Adios © (2006-03-22 04:25) [18]
>Джо В данном случае нужно установить т.н. "точку останова" (break
> points)
спасибо тебе дружище, а я всё гадал, к чему там эта хрень ставится.
Страницы: 1 вся ветка
Текущий архив: 2006.04.09;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.012 c