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

Вниз

Имя класса   Найти похожие ветки 

 
Phoroon~ ©   (2006-07-26 20:58) [0]

Првиет всем!!!
Нужно взять имя класса.
Вот сталкнулся с такой проблемой:

var p: PAnsiChar;
begin
GetClassName(Handle,p,30); //беру имя класса
Caption:=string(p); //в caption идут закорючки (вроде UTF8)
Label1.Caption:= UTF8Decode(p); //конвертирую (равно "пусто")
end;

Как преобразовать?


 
Dmitrij_K   (2006-07-26 21:09) [1]

PAnsiChar - Указатель на массив байт.
Память под него надо выделять, хорошо AV не получил

procedure TForm1.Button1Click(Sender: TObject);
var p: PAnsiChar;
begin
 p := StrAlloc(255);
 GetClassName(Handle,p,255);
 Caption := p;
 StrDispose(p)
end;


 
Мефисто   (2006-07-26 21:18) [2]

var
   A: String;
begin
SetLength(A, 31);
GetClassName(Button1.Handle, @A[1], 31);
Caption := A;
end;


 
Dmitrij_K   (2006-07-26 21:29) [3]

У кого меньше?
Ж)
procedure TForm1.Button1Click(Sender: TObject);
var p : Array[0..255] of char;
begin
 GetClassName(Handle,@p[0],SizeOf(p));
 Caption := p;
end;


 
Мефисто   (2006-07-26 21:42) [4]


> Dmitrij_K   (26.07.06 21:29) [3]


У меня :) Т.к. размер буфера меньше ;)


 
Phoroon~ ©   (2006-07-26 22:12) [5]

Ой, спасибо вам!!!
О памяти, как-то не подумал.

ИМХО
Хотя не мешало бы!!!


 
Loginov Dmitry ©   (2006-07-27 07:30) [6]

Мефисто   (26.07.06 21:18) [2]
А если имя класса меньше 31 символа, то зачем в Caption заносить всю строку?

>Dmitrij_K   (26.07.06 21:29) [3]
> У кого меньше?


По хорошему не помешало бы обнулить символы массива (FillChar"ом, например)



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

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

Наверх




Память: 0.48 MB
Время: 0.061 c
2-1153654992
learner
2006-07-23 15:43
2006.08.13
Сервер и его зависимости :))


2-1153741979
rsa_
2006-07-24 15:52
2006.08.13
не запускаеться exe-шник написанный на delphi6 в windowsXP


3-1149855807
Vitus
2006-06-09 16:23
2006.08.13
работа с Ole объектами


3-1149738973
Soi
2006-06-08 07:56
2006.08.13
Экспорт данных из одной таблицы в другую


2-1153851461
Adios
2006-07-25 22:17
2006.08.13
как сделать чтобы рисунок не мерцал?