Форум: "Основная";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
ВнизЧудеса с TStrings? Найти похожие ветки
← →
чудак (2004-07-02 16:56) [0]Код:
var LBItems:TStrings;
begin
LBItems.add("rerer");
end;
Вылетает с ошибкой "access violation....". Подскажите пожалуйста новичку, что я сделал не так?
← →
Тимохов © (2004-07-02 16:56) [1]объект не создал
lbitems := tstringlist.create();
← →
Reindeer Moss Eater © (2004-07-02 16:57) [2]Не прочитал хелп
← →
Тимохов © (2004-07-02 16:57) [3]на плюсах небось наинали? :)))
← →
Digitman © (2004-07-02 17:00) [4]
> Вылетает с ошибкой "access violation....".
малацца !... нечего читать незнакомые буквы, следующие в тексте "ошибки" после многоточия... не царское это дело
← →
Digitman © (2004-07-02 17:03) [5]особор радует слово "Вылетает"
сразу чувствуется, что равно как и у меня в практике у автора из СиДи-привода вылетает диск ...
← →
чудак (2004-07-02 17:07) [6]Господа, хорош издевацца над маленькими! :)
"малацца !... нечего читать незнакомые буквы, следующие в тексте "ошибки" после многоточия... не царское это дело"
Ну а что даст продолжение "at adress 0043E238..."?
"lbitems := tstringlist.create();"
Как ни странно - так делал (только без пустых скобочек)... Тогда тоже ошибка: "Abstract Error".
← →
Reindeer Moss Eater © (2004-07-02 17:08) [7]"lbitems := tstringlist.create();"
Как ни странно - так делал (только без пустых скобочек)... Тогда тоже ошибка: "Abstract Error".
Не врать.
Ты делал
tstrings.create();"
← →
Romkin © (2004-07-02 17:08) [8]чудак (02.07.04 17:07) [6] Не так ты делал. Смотри внимательно :)))
← →
Тимохов © (2004-07-02 17:08) [9]
> "lbitems := tstringlist.create();"
> Как ни странно - так делал (только без пустых скобочек)...
> Тогда тоже ошибка: "Abstract Error".
гоните :)))
вы делали tstrings.create();
> Ну а что даст продолжение "at adress 0043E238..."?
например, что ошибка в вашем exe, а не в системной библиотеке user32.dll скажем.
← →
чудак (2004-07-02 17:13) [10]Ничего я не гоню, говорю как есть:( И не сишник я.. так, самую малость:)
"procedure TForm1.FormShow(Sender: TObject);
var LBItems:TStrings;
begin
LBItems:=TStrings.Create();
LBItems.add("rerer");
end;"
Abstract error (тоже не в системной dll, а в ехе) в строке " LBItems.add("rerer");"
"например, что ошибка в вашем exe, а не в системной библиотеке user32.dll скажем."
Он так и пишет - ошибка в exe.
← →
Тимохов © (2004-07-02 17:14) [11]
> чудак (02.07.04 17:13) [10]
глаза протри, чудак:))))
← →
чудак (2004-07-02 17:14) [12]опс.. там ж tstringLIST... прошу прощения, действительно гнал, выходит:( Пошёл пробовать.
← →
Digitman © (2004-07-02 17:14) [13]
> чудак (02.07.04 17:07) [6]
> Господа, хорош издевацца над маленькими! :)
"маленький" - не повод для оправдания отсутствия желания шевелить извилинами, когда делают намек
> что даст продолжение
даст повод сосредоточиться на изучении пунктов главногго меню среды, где есть направление для поисков ответа на вопрос, что есть "0043E238" и как это реально может помочь в поисках ошибки
← →
Тимохов © (2004-07-02 17:14) [14]
> Он так и пишет - ошибка в exe.
к тому же по адресу можете найти команду, которая вызвала исключение.
← →
чудак (2004-07-02 17:15) [15]Работает!!!!!!!!!!
все такие "добрые"... но спасибо, что помогли.
← →
Anatoly Podgoretsky © (2004-07-02 17:15) [16]А чудо где?
Вот когда заработает, тогда и будет чудо.
← →
чудак (2004-07-02 17:16) [17]"к тому же по адресу можете найти команду, которая вызвала исключение."
Лет через 10.. научусь:)
← →
Digitman © (2004-07-02 17:26) [18]
> чудак (02.07.04 17:16) [17]
если для тебя Делфи-разработка - не более чем сиюсекундное развлечение или необходимость отмазки в вузовском курсе - на 10 лет не можешь расчитывать ни ты ни мы ...статья за это предусматривает пожизненный срок
← →
чудак (2004-07-02 17:40) [19]"статья за это предусматривает пожизненный срок"
???
"если для тебя Делфи-разработка - не более чем сиюсекундное развлечение или необходимость отмазки в вузовском курсе"
Это не так.
← →
han_malign © (2004-07-02 17:42) [20]>Лет через 10.. научусь:)
Project Options...->Linker->Map file=Detailed
>"at adress 0043E238..."
00400000 - Image base - отнимаем
остается 0003E238
в SysUtils: code start set by linker to $1000
остается 0002D238
и ещем этот или близкий к нему адрес(что чаще) в, к примеру:
Project1.map:.................
Line numbers for Unit1(Unit1.pas) segment .text
278 0001:000066F0 279 0001:000066FC 280 0001:00006707 281 0001:00006710
282 0001:00006728 284 0001:0000673A 285 0001:0000674A 287 0001:00006760
313 0001:00006764 314 0001:00006770 315 0001:0000677B 316 0001:00006786
317 0001:0000678C 318 0001:00006794 320 0001:0000679A 321 0001:000067A2
322 0001:000067B2 323 0001:000067BA 324 0001:000067BD 325 0001:000067C0
318 0001:000067C3 327 0001:000067C9 331 0001:000067D0 332 0001:000067EF
333 0001:000067F3 334 0001:000067F9 335 0001:00006822 336 0001:00006833
337 0001:00006868 341 0001:0000686C 342 0001:00006875 343 0001:00006886
344 0001:0000689E 348 0001:000068A4 349 0001:000068C6 350 0001:000068D1
351 0001:000068D7 352 0001:000068E9 350 0001:000068EC 354 0001:000068F2
355 0001:00006902 356 0001:0000692A 360 0001:00006930 361 0001:00006952
362 0001:0000695D 363 0001:00006963 364 0001:00006975 362 0001:00006978
366 0001:0000697E 367 0001:000069AF 385 0001:000069B4 386 0001:000069D6
387 0001:000069E2 388 0001:00006A0B 389 0001:00006A3C 390 0001:00006A4F
391 0001:00006A83 394 0001:00006A88 395 0001:00006A94 396 0001:00006AA5
397 0001:00006AB2 398 0001:00006AD2 399 0001:00006AF3 402 0001:00006AF8
403 0001:00006B04 404 0001:00006B11 405 0001:00006B31 406 0001:00006B42
407 0001:00006B63 408 0001:00006B86 411 0001:00006B8C 412 0001:00006B98
413 0001:00006BA5 414 0001:00006BBD 415 0001:00006BDA 418 0001:00006BE0
419 0001:00006BED 420 0001:00006BFA 421 0001:00006C21 422 0001:00006C48
423 0001:00006C6F 424 0001:00006C8A 427 0001:00006C90 428 0001:00006C9C
429 0001:00006CA9 430 0001:00006CC4 431 0001:00006CDF 432 0001:00006CFA
433 0001:00006D15 434 0001:00006D30 435 0001:00006D4B 436 0001:00006D66
437 0001:00006D7C 441 0001:00006D80 442 0001:00006D8F 444 0001:00006D9F
.................
← →
чудак (2004-07-02 17:57) [21]Спасибо конечно, но я только совсем начинающий программист. Даже не программист в понятии "кодер", а так - "погулять вышел":) Если реши посвятить этому свою жизнь, тогда буду разбираться в тонкостях.
← →
чудак (2004-07-02 17:57) [22]всёёёё. Начался флейм:) Всем пожимаю руку и желаю удачи. Пока.
← →
Тимохов © (2004-07-02 17:59) [23]
> Начался флейм
вы его и начали :(((
← →
Romkin © (2004-07-02 18:08) [24]Таки я бы рекомендовал дополнить код Free ;)
List := TStringList.Create;
try
... - юзаем List
finally
List.Free;
end;
← →
чудак (2004-07-02 18:42) [25]Romkin, спасибо, Вы опередили мой вопрос :) Тож задумался об удалении объекта )
← →
Igorek © (2004-07-02 19:36) [26]А я бы рекоммендовал вместо Free использовать FreeAndNil. Даже для локальных переменных. Даже если они потом переедут куда-то код не будет сбоить.
Кроме того вроде надо так:
try
List := TStringList.Create;
... - юзаем List
finally
FreeAndNil(List);
end;
← →
Fay © (2004-07-02 19:44) [27]2Igorek © (02.07.04 19:36) [26]
> try
> List := TStringList.Create;
> ... - юзаем List
> finally
> FreeAndNil(List);
> end;
А еслиList := TStringList.Create;
не прокатит?
← →
Anatoly Podgoretsky © (2004-07-02 20:36) [28]Ну будет неприятно немного
← →
Mim1 © (2004-07-02 20:42) [29]
> [26] Igorek © (02.07.04 19:36)
Я смотрю вы совсем не учитесь. Вас в такие ошибки уже тыкали :(.
← →
jack128 © (2004-07-02 20:42) [30]
> try
> List := TStringList.Create;
> ... - юзаем List
> finally
> FreeAndNil(List);
> end;
во первых строку List := TStringList.Create; - нужно вынести за пределы блока try finally
List := TStringList.Create;
try
// ... - юзаем List
finally
FreeAndNil(List);
end;
во вторых всё, что ты говорил про FreeAnNil будет работатьь только если дополнить код условием
if not Assigned(List) then
List := TStringList.Create;
а это уже излишества..
← →
Тимохов © (2004-07-02 23:16) [31]Igorek © (02.07.04 19:36) [26]
учите числа с плавующей точкой, с советами пока погодите :)))))))))))
← →
Style © (2004-07-03 00:01) [32]Я бы назвал эту ветку так:
Чудак и TStrings ;)
← →
GuAV © (2004-07-03 00:10) [33]jack128 © (02.07.04 20:42) [30]
А ты еще забыл сказать, что FreeAndNil - тоже излишество, если List создается только здесь. А он имхо ваще тут за локальную переменную.
← →
Marser © (2004-07-03 01:26) [34]
> Anatoly Podgoretsky © (02.07.04 20:36) [28]
> Ну будет неприятно немного
:-)
Потом пройдет
> чудак
Главный совет - вместо абстрактного TStrings использовать TStringList - прикладного его потомка.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.032 c