Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ага есть такое дело....
Но что мне надо с ним сделать чтобы он стал валидным?
Create уже пробывал не помогает........
Заранее благодарен....

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 11:55 23-10-2006
FRALX

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
А вот если str=nil
то IMHO str.clear приведет к ошибке доступа к памяти по адресу 0  

Всего записей: 110 | Зарегистр. 15-12-2005 | Отправлено: 11:58 23-10-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FRALX
Народ я это понимаю как сделать не нил?

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 11:59 23-10-2006
FRALX

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
str:=TStringList.Create()

Всего записей: 110 | Зарегистр. 15-12-2005 | Отправлено: 12:00 23-10-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raised exception class EStringListError with message 'List index out of bound (-1).Process Stop......
эх...

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 12:04 23-10-2006
FRALX

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Блин повторно послалось  

Всего записей: 110 | Зарегистр. 15-12-2005 | Отправлено: 12:06 23-10-2006 | Исправлено: FRALX, 12:07 23-10-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FRALX
Не понял твоего замечания. Или ты намекаеш, что я Exit Упустил?
bornbill
Строка с созданием нового объекта должна быть в вызывающей процедуре.
А ошибочка в какой строке возникает?

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:08 23-10-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Происходит она в момент вызова процедуры Runany и соответственно передачи параметра...
Есть идеи?
Заранее благодарен..

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 12:08 23-10-2006 | Исправлено: bornbill, 12:10 23-10-2006
FRALX

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
Ага
bornbill
И я это хотел спросить  
 
 
Добавлено:
bornbill
А иде код этой процедуры смотреть ?

Всего записей: 110 | Зарегистр. 15-12-2005 | Отправлено: 12:11 23-10-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На предидущей странице под [more]

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 12:15 23-10-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
Procedure RunAny(CommandLine: string; Str: TStrings);  
может все таки  
Procedure RunAny(CommandLine: string; var Str: TStrings);  
или
Procedure RunAny(CommandLine: string; var Str: TStringList);  

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 12:18 23-10-2006 | Исправлено: greenpc, 12:22 23-10-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
Ты пишешь

Код:
 if StringBuf.Count > 0 then
          begin
            StringBuf.Strings[0] := Str.Strings[Str.Count-1]+StringBuf.Strings[0];
            Str.Delete(Str.Count-1);
          end;
 

Оченть не понятный код... Именно здесь и происходит 'List index out of bounds (-1)'...
Поясни, что ты хотел тут сделать?
 

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 12:22 23-10-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc
То же самое, выполнение прерывается в момент вызова процедуры...... С той же ошибкой..
Заранее благодарен.
 
Пытаюсь склеить разорванную строку.....
Ошибка остаётся даже после закоментированности указанного кода

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 12:23 23-10-2006 | Исправлено: bornbill, 12:28 23-10-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
код
Procedure RunAny(CommandLine: string; var Str: TStringList);
выполняется

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 12:31 23-10-2006
FRALX

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
Дык если у тя str пустой то Str.Strings[Str.Count-1] именно эту ошибку и выдаст
ТЫ тада проверяй есть у тя в str ченить или нет

Всего записей: 110 | Зарегистр. 15-12-2005 | Отправлено: 12:50 23-10-2006 | Исправлено: FRALX, 12:50 23-10-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
Цитата:
if (str=nil) or (not Assigned(str)) then

Стало любопытно: разве эти два условия друг друга как-то дополняют, а не дублируют?

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 14:22 23-10-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем спасибо доразбился
Но естественно есть ыщо вопрос
Читать
 
И стартап этой функции приводит к тому что
приложение стартует но параметры ему не передаются
строка параметров правильная пробывал кучу всего на параметры плюёт....
 
Заранее благодарен за пинок в нужном направлениии.... и подсказку по выходу из ситуации

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 15:36 23-10-2006
greenpc

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bornbill
Params :=FileName + ' параметры';
пример
params :='notepad.exe 1.1';

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 15:48 23-10-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sexton
Дополняют
Первое проверяет, а не указывает ли указатель в nil, тоесть проверка на "несоздность".
Но можно принудительно передать какой-то левый указатель, указатель на цыфровые небеса. Так вот Assigned попытается проверить на корректность этот указатель.
Хотя вроде Assigned и делает проверку на nil, но почему-то раньше (в 3 Делфи кажеться) Assigned пучило от nil

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 16:16 23-10-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
OdesitVadim

Цитата:
Но можно принудительно передать какой-то левый указатель, указатель на цыфровые небеса. Так вот Assigned попытается проверить на корректность этот указатель.  

Кто это тебе такое сказал? Вообще то Assigned компилируется в  
cmp dword ptr [адрес параметра], 0
то есть делает ту же самую проверку на nil.
А вот в чем помогает, так это проверить присвоено ли что-то переменной процедурного типа - ее в сравнение не подставить, будет воспринято как вызов

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 17:32 23-10-2006 | Исправлено: RomanTim, 17:33 23-10-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru