Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.21;
Скачать: CL | DM;

Вниз

Структура из DLL   Найти похожие ветки 

 
9899100   (2008-08-08 12:12) [0]

описана структура
загружаю DLL
вызываю процедуру параметром которой передаеться указатель на переменную типа структура
все намана структура заполняеться и все хорошо
но когда выгружаеться DLL
то переменная теряет все значения причем становиться вообще Inacessible Value

как передать структуру из DLL так чтобы данные сохранились после того как DLL будет выгружена????


 
DVM ©   (2008-08-08 12:16) [1]

Структуру покажи, там что есть поля-указатели что ли?


 
9899100   (2008-08-08 12:16) [2]

попробовал командой MOVE  переписать переданную структуру в другую переменную..... переписывает но все равно когда выгружаю DLL теряеться её значение :(


 
Сергей М. ©   (2008-08-08 12:17) [3]


> Inacessible Value


Это отказ, характерный для отладчика, когда контролируемое тобой значение выходит из текущей области видимости. Не более того.

К сохранению каких-то ьтам данных это сообщение не имеет отношения.


 
9899100   (2008-08-08 12:18) [4]

вот такая вот структура
передаеться перменная типа PProgramm

Type PProgramm=^TProgramm
    TProgramm=record
      name:String;
      Version:String;
    end;


 
Сергей М. ©   (2008-08-08 12:19) [5]

Я же тебе уже указал на грабли в

http://delphimaster.net/view/2-1218102039/

А ты не внемлешь)


 
9899100   (2008-08-08 12:19) [6]

>>Сергей М. ©
это в отладчике ессесно
так программа выдет ессесно ошбку


 
Medbe}I{onok XML ©   (2008-08-08 12:20) [7]

строки остались в длл, мувом переносятся указатели, которые протухают после выгрузки длл.


 
Сергей М. ©   (2008-08-08 12:21) [8]


> 9899100   (08.08.08 12:19) [6]


> программа выдет ессесно ошбку


Ты в [5] вник ?


 
9899100   (2008-08-08 12:23) [9]

>> Сергей М. ©
ессесно
и я вижу где теряеться значение
оно теряеться когда я делаю Freelibrary
и это тоже понятно
отсюда и вопрос
"как передать структуру из DLL так чтобы данные сохранились после того как DLL будет выгружена????"


 
9899100   (2008-08-08 12:25) [10]

>>Medbe}I{onok XML
тупо копировать каждую строку??
это не красиво :)

может както изменить структуру чтобы это были не указатели а именно данные


 
Сергей М. ©   (2008-08-08 12:29) [11]


> это не красиво


А красиво разве рубить сук, на котором сидишь ?
Именно это ты и делаешь)

Давай уже показывай код..


 
tesseract ©   (2008-08-08 12:29) [12]


> может както изменить структуру чтобы это были не указатели
> а именно данные


string[255]


 
tesseract ©   (2008-08-08 12:29) [13]

Хотя наверно лучше array[255] of char - красивее будет.


 
DVM ©   (2008-08-08 12:29) [14]


> 9899100   (08.08.08 12:25) [10]

TProgramm=record
 Name: Pchar;
 NameLen: integer;
 Version: PChar;
 VersionLen: integer;
end;

Память под строки надо выделять НЕ В ДЛЛ. Если функция длл видит, что выделенной памяти недостаточно, то пусть возвращает ошибку или заполняет какое поле в структуре требуемыми значениями.


 
Medbe}I{onok XML ©   (2008-08-08 12:30) [15]

структуру ты уже благополучно передал без потерь.


 
DVM ©   (2008-08-08 12:31) [16]


> 9899100   (08.08.08 12:25) [10]

Короче, смотри как WinAPI сделано везде.


 
9899100   (2008-08-08 12:51) [17]

Да уж :)
застрелиться и не встать
интересно всетаки
ну стоит String а не String[255]
как то читал что
по идее Delphi пользует тип стринг сходно с PChar
если явно не указать что он String[255]
ладно
но ведь переменная масив то тоже на самом деле указатель
хотя может я путаю с С++


 
Dennis I. Komarov ©   (2008-08-08 12:56) [18]

Когда создаешь новую DLL почитай внимательно, что в коментариях написано...


 
Сергей М. ©   (2008-08-08 12:57) [19]


> переменная масив то тоже на самом деле указатель


Смотря какой массив ..



Страницы: 1 вся ветка

Текущий архив: 2008.09.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
8-1186219449
Pasha L
2007-08-04 13:24
2008.09.21
Цветовые схемы в работе с jpg (инструмент IJL)


11-1193561717
files32
2007-10-28 11:55
2008.09.21
Русский язык KOL+Lazarus+WinCE


2-1217913860
lewka
2008-08-05 09:24
2008.09.21
Размер HTML- кода (трафик)


2-1218046013
SveTTT
2008-08-06 22:06
2008.09.21
Отбор максимального значения


2-1218563976
RoPs
2008-08-12 21:59
2008.09.21
Про Tray