Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Pointe To PChar? [D5, WinXP]


Freezer ©   (2002-06-18 12:44:00) 

// Форма родитель TxpBaseForm
...
procedure LinksBarItemClick(Sender: TObject; Item: TdxSideBarItem);
function xpBaseGetExtendedData: Pointer; virtual;
...
function TxpBaseForm.xpBaseGetExtendedData: Pointer;
begin
Result := nil;
end;

procedure TxpBaseForm.LinksBarItemClick(Sender: TObject; Item: TdxSideBarItem);
var
Data: String;
begin
...
// !!! показывается обрубок от строки почему-то?
ShowMessage(PChar(xpBaseGetExtendedData));
// showmessage написал в целях отладки ...
xpCallLink(Item.Tag, Data, xpBaseGetExtendedData);
end;

// Форма потомок TxpBaseForm
...
function xpBaseGetExtendedData: Pointer; override;
...
function ThcaPointForm.xpBaseGetExtendedData: Pointer;
begin
Result := inherited xpBaseGetExtendedData;
Result := PChar(dsPoint.FieldByName("POINT_ACCOUNTNUM").AsString);
end;
...


Игорь Шевченко   (2002-06-18 13:04:00) [1]

Прошу прощения, просмотрел.

Result := PChar(dsPoint.FieldByName("POINT_ACCOUNTNUM").AsString);

Работать не будет, так как значение функции TField.getAsString указывает на данные в стеке в данном случае (IMHO)


Игорь Шевченко   (2002-06-18 12:48:00) [2]


> function ThcaPointForm.xpBaseGetExtendedData: Pointer;
> begin
> Result := inherited xpBaseGetExtendedData;
> Result := PChar(dsPoint.FieldByName("POINT_ACCOUNTNUM").AsString);
> end;


Первое присваивание на всякий случай ? :-)))

И в SHowMessage PChar надо убрать
А вообще-то мало информации.


Наверх

Титульная страница Поиск, карта сайта Написать письмо