Форум: "Основная";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
ВнизFileMapping и TList Найти похожие ветки
← →
ShiFT (2005-08-25 10:03) [0]вопрос как можно записать в память TList.
и как потом считать их.
Количество итемов неизвестно.
← →
Reindeer Moss Eater © (2005-08-25 10:07) [1]Его туда не надо записывать специально.
Он и так уже в памяти, потому что в другом месте просто не может быть.
← →
ShiFT (2005-08-25 10:11) [2]мне надо его прочитать в другой программе.
или тогда как лучше это сделать???
← →
Leonid Troyanovsky © (2005-08-25 10:23) [3]
> ShiFT (25.08.05 10:11) [2]
> мне надо его прочитать в другой программе.
> или тогда как лучше это сделать???
А зачем TList? Не каждая программа его поймет.
Можно просто массив, можно связный список.
--
Regards, LVT.
← →
Reindeer Moss Eater © (2005-08-25 10:27) [4]>мне надо его прочитать в другой программе.
А смысл? TList содержит указатели.
Они куда-то осмысленно указывают в ап твоего процесса.
А в другом процессе куда они будут указывать - я бы не стал даже гадать.
← →
ShiFT (2005-08-25 10:29) [5]можно массив.
type
rArticles = record
doc_id : integer;
designatio: string;
filedate : tdatetime;
end;
var
Articles : array of rArticles;
как мне можно передать эти данные в другую (свою) программу.
← →
Leonid Troyanovsky © (2005-08-25 10:31) [6]
> ShiFT (25.08.05 10:29) [5]
> можно массив.
> Articles : array of rArticles;
>
> как мне можно передать эти данные в другую (свою) программу.
Сделай массив статическим и передавай.
Т.е., возможно еще потребуется индекс последнего элемента.
Ну, и, конечно, синхронизация доступа (mutex).
--
Regards, LVT.
← →
Leonid Troyanovsky © (2005-08-25 10:33) [7]
> Leonid Troyanovsky © (25.08.05 10:31) [6]
> Сделай массив статическим и передавай.
Ну, и замени String на ShortString.
--
Regards, LVT.
← →
ShiFT (2005-08-25 10:33) [8]Сразу неизвестно сколько будет элементов массива.
если можно пример передачи и чтения.
← →
ShiFT (2005-08-25 11:03) [9]и всётаки как мне это сделать.
покажите пример передачи массива записей другому приложению.
← →
Leonid Troyanovsky © (2005-08-25 11:35) [10]
> ShiFT (25.08.05 11:03) [9]
> и всётаки как мне это сделать.
http://www.compress.ru/Article.asp?id=2164
http://www.compress.ru/Article.asp?id=2166
Например,
http://groups.google.com/group/fido7.ru.delphi.chainik/msg/8da90a77a322f139
полезно почитать всю ветку.
> покажите пример передачи массива записей другому приложению.
Массив принципиально ничем не отличается от одной записи.
Кстати, если речь в лишь "передать", т.е. копию, то
WM_COPYDATA - проще всего.
--
Regards, LVT.
← →
Digitman © (2005-08-25 12:02) [11]
> в другую (свою) программу
если она действительно "твоя", значит у тебя есть ее исх-ки и полное понимание ее алгоритма.
значит ее (другую "твою" программу) можно изменить/перекомпилировать, внеся изменения на предмет ЗАРАНЕЕ ПРЕДУСМОТРЕННОЙ тобой (как разработчика обеих программ) организации интерпроцессного взаимодействия.
для интерпроцессного взаимодействия подойдут NamedPipes (именованые программные каналы) и MMF (файлы отображенные в вирт.память процесса)
а TList здесь ни при чем.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c