Форум: "Основная";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];
ВнизУказатели Найти похожие ветки
← →
Still Swamp (2003-08-07 15:46) [0]Есть
type
TAsd = record
...
end;
var
a,b:TAsd;
Как сделать так, что бы a и b ссылались на одну и ту же область памяти, в которой распологается b?
← →
Palladin (2003-08-07 15:47) [1]var
a:tasd;
b:tasd absolute a;
← →
Still Swamp (2003-08-07 15:49) [2]уточню.... допустим b ко мне приехала как @b.
и теперь мне надо работать не с b, а с ее памятью.
← →
Skier (2003-08-07 15:49) [3]>Still Swamp (07.08.03 15:46)
Цель ?
← →
Still Swamp (2003-08-07 15:51) [4]в dll надо передать record который определен в exe. там его изменить
← →
Palladin (2003-08-07 15:51) [5]угу, прекрасно уточнил...
← →
Still Swamp (2003-08-07 15:52) [6]уточнил... и? :)
← →
Skier (2003-08-07 15:52) [7]>Still Swamp (07.08.03 15:51)
Описание записи покажи...
← →
Palladin (2003-08-07 15:52) [8]вот уже лучше
PAsd = ^TAsd;
TAsd = record
...
end;
var
a,b:PAsd;
a^.sdfsdf=fsdfsd;
← →
Still Swamp (2003-08-07 15:54) [9]это ой.
место описания PAsd - грубо говоря находится не в моей компетенции
← →
Palladin (2003-08-07 15:55) [10]воспроизведи эту запись у себя в программе
← →
Still Swamp (2003-08-07 15:58) [11]ниии.... из этой структуры exe постоянно читает. и мои изменения ей будут на ходу восприниматься. мне нужен уменно указатель.
это же навернякак как то можно сделать. ну я покрайней мере надеюсь.
← →
Skier (2003-08-07 16:00) [12]>Still Swamp (07.08.03 15:58)
Общие данные для доступа из exe и dll ?
← →
Still Swamp (2003-08-07 16:00) [13]описание
TRGBA=Record
R:Single;
G:Single;
B:Single;
A:Alpha;
end;
a:TRGBA;
function SetColor(@a); stdcall;
← →
Still Swamp (2003-08-07 16:00) [14]ну ээээ в общем да.
← →
Digitman (2003-08-07 16:03) [15]а DLL-то здесь причем ? imnsho, абсолютно ни при чем)
← →
Still Swamp (2003-08-07 16:04) [16]ну я для большей наглядности...
← →
Skier (2003-08-07 16:08) [17]>Still Swamp (07.08.03 16:04)
Смешно !
← →
Still Swamp (2003-08-07 16:12) [18]Верю что смешно, но делать то что?
← →
Skier (2003-08-07 16:14) [19]А расскажи-ка про свою конечную цель...
← →
Palladin (2003-08-07 16:19) [20]
> Still Swamp (07.08.03 16:12)
я с тя падаю
просто падаю
выбери что тебе нужно
1 b=a
2 var b:trgba absolute a;
3 b:^trgba; b:=@a;
4 b:^trgba; new(b); b^=a;
← →
Digitman (2003-08-07 16:22) [21]
> надо передать record ... там его изменить
PRGBA = ^TRGBA;
TRGBA=Record
...
end;
...
a:TRGBA;
procedure Proc(RGBA: PRGBA);
begin
...
( @a)
> надо передать record ... там его изменить
PRGBA = ^TRGBA;
TRGBA=Record
...
end;
...
a:TRGBA;
procedure Proc(RGBA: PRGBA);
begin
...
RGBA.R := ...;
end;
...
Proc(@a);
← →
Still Swamp (2003-08-07 16:35) [22]1 b=a
2 var b:trgba absolute a;
3 b:^trgba; b:=@a;
4 b:^trgba; new(b); b^=a;
1 - не хляет, так как это перепишет значения из одной в другую область памяти.
2 - я не совсем понимаю что это.
3 .... сейчас попробую.
← →
Still Swamp (2003-08-07 16:37) [23]ну а как к b обращаться в третьем случае?
← →
Palladin (2003-08-07 16:47) [24]b^.R:=10;
b^.G:=13;
c:=b^.B
← →
Digitman (2003-08-07 16:48) [25]b.R := ....;
← →
Still Swamp (2003-08-07 17:04) [26]оки сенкс.
b.r:= - точно не работает.
← →
Digitman (2003-08-07 17:11) [27]
> Still Swamp
не выдумывай.
все работает.
← →
Palladin (2003-08-07 17:21) [28]в д6 точно работает, в д5 не знаю...
← →
Digitman (2003-08-07 17:29) [29]
> Palladin
и в Д5 работает.
компилятор генерирует тот же код, что и для b^.r
умный он)
← →
Still Swamp (2003-08-07 17:40) [30]у меня ошибка.
Pointer type required
← →
Digitman (2003-08-07 17:44) [31]
> Still Swamp
ну так и объяви его
b:PRGBA;
!!
← →
Skier (2003-08-07 17:46) [32]>Still Swamp
Ну ё ! Воистину "всё ещё болото" ! :)
← →
Still Swamp (2003-08-07 18:10) [33]все объявлено.... вы уж свсем плохо думаете.
ладно...
← →
Palladin (2003-08-07 18:11) [34]
> Still Swamp (07.08.03 17:40)
ты че хочешь то?
где у тебя ошибка то?
код приводи! еп...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.21;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.007 c