![]() |
|
#1
|
|||
|
|||
![]() Просто впал в ступор. Проблема в следующем: суть - есть массив из элементов TStrings. Через диалог открытия файлов в каждый элемент массива должен записываться список из нескольких файлов, полученных через диалог открытия:
Код:
if OpenDialog1.Execute = true then fls[Current] := OpenDialog1.Files else ShowMessage('Загрузка отменена'); Код:
if OpenDialog1.Execute = true then tmp[Current] := OpenDialog1.Files.Count else ShowMessage('Загрузка отменена'); |
#2
|
||||
|
||||
![]() инкремента Current нет
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
![]() Есть, но он несколько в другом месте программы. Всё сюда тащить бессмысленно.
Я не зря указал, что если массив из TSrings заменить массивом целых, всё записывается как надо и куда надо ![]() |
#4
|
||||
|
||||
![]() упс, про Assign то не написал
![]() Пишу программы за еду. __________________ |
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
|||
|
|||
![]() Цитата:
![]() |
#7
|
||||
|
||||
![]() Используй
Код:
tmp[current].AddStrings(OpenDialog1.Files); |
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение: | ||
iosfixed (22.07.2012)
|
#8
|
||||
|
||||
![]() Код:
tmp[Current].Assign(OpenDialog1.Files); Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
iosfixed (22.07.2012)
|
#9
|
|||
|
|||
![]() Спасибо большое, теперь всё работает
![]() Если не затруднит, объясните на пальцах, что значит "ссылается на один и тот же объект?". Я понимаю, что OpenDialog1.Files каждый раз новый, но ведь элементы же тоже меняются. |
#10
|
||||
|
||||
![]() Используя оператор ":=" в случае обьектов (не переменных), ты передаешь ссылку на обьект. Проще говоря, обьекты в Delphi - это ссылки на диапазоны памяти, ты этим ":=" первой "ссылке" присваиваещь значение "второй", как результат, обе они ссылаются на один и тот же обьект. Кхм
![]() |
#11
|
|||
|
|||
![]() Цитата:
|