Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.009 c
15-1217310112
Vlad Oshin
2008-07-29 09:41
2008.09.21
Сбылась мечта идиота :)удалось "скырть роцесс"


2-1218109791
Ябеда
2008-08-07 15:49
2008.09.21
Снова потоки


15-1217591906
oldman
2008-08-01 15:58
2008.09.21
Завтра выходной, будут не все. Примите поздравления заранее...


15-1217229884
No_Dead (work)
2008-07-28 11:24
2008.09.21
Вопрос к опытным сис. админам


4-1197096509
happy
2007-12-08 09:48
2008.09.21
Пост запрос




   Наверх