Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2317 • Страница 103 из 116<  1 ... 100  101  102  103  104  105  106 ... 116  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Advanced member
Статус: Не в сети
Регистрация: 23.10.2003
Откуда: Иркутск/Майкоп
Максим
Нужно, чтобы во время исполнения кода был указатель на имя текущей процедуры/метода. Не знаю, есть ли он в дельфийском (или каком-нибудь другом) коде.

_________________
Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.



Партнер
 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
vor
НУ оказалось в итоге все относительно легко. Надо брать указатель с ebp и искать в map файле это. Но правда я от этого метода отказался, пришлось все самому писать.
Получился вызов типа
Код:
dmdMain.AddMessage(GetObjectAndMethod(Self, Sender));

А код самой функции
Код:
Function GetObjectAndMethod(ParentObj, Obj: TObject;
  EventName: String = EmptyStrConst): String; Register;
Var
  Method: TMethod;
  PropInfo: PPropInfo;
Begin
  If ParentObj = Nil Then
  Begin
    Result := EmptyStr;
    Exit;
  End;

  Result := ParentObj.ClassName;

  If Obj = Nil Then
    Exit;
  If EventName = EmptyStr Then
    If QuickSameText(Obj.ClassName, TActionNameConst) Then
      EventName := OnExecuteNameConst
    Else
      If QuickSameText(Obj.ClassName, TTimerNameConst) Then
        EventName := OnTimerNameConst
      Else
        If QuickSameText(Obj.ClassName, TcxPageControlNameConst) Then
          EventName := OnChangeNameConst
        Else
          If QuickSameText(Obj.ClassName, TfrmMainNameConst) Then
            EventName := OnCreateNameConst
          Else
            If QuickSameText(Obj.ClassName, TfrmRegistryNameConst) Then
              EventName := OnCreateNameConst
            Else
              If QuickSameText(Obj.ClassName, TRegistryButtonNameConst) Then
                EventName := OnClickNameConst
              Else
                If QuickSameText(Obj.ClassName, TCWASessionNameConst) Then
                  EventName := OnCallEventNameConst
                Else
                  If QuickSameText(Obj.ClassName, TDBGridEhNameConst) Then
                    EventName := OnDblClickNameConst
                  Else
                    If QuickSameText(Obj.ClassName, TCheckListBoxNameConst) Then
                      EventName := OnClickCheckNameConst
                    Else
                      If QuickSameText(Obj.ClassName, TCheckBoxNameConst) Then
                        EventName := OnClickNameConst
                      Else
                        If QuickSameText(Obj.ClassName, TcxButtonNameConst) Then
                          EventName := OnClickNameConst;

  PropInfo := GetPropInfo(Obj.ClassInfo, EventName);
  If (PropInfo = Nil) Then
    Exit;

  Method := GetMethodProp(Obj, PropInfo);
  If (Method.Code = Nil) Then
    Exit;
  Result := Result + DotChar + ParentObj.MethodName(Method.Code);
End;

В eventname надо передавать тип события, которое произошло. Ну я правда в самой функции установил для некоторых объектов eventname по умолчанию.

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Junior
Статус: Не в сети
Регистрация: 28.11.2008
привет всем. извиняюсь что лезу с ламерскими проблемами...
делаю просмотрщик изображений. для начала беру DriveComboBox, DirectoryListBox, FileListBox и TImage. Первые 3 между собой связываю без проблем, получается что-то вроде проводника. Далее пишу:
procedure TForm8.filelistbox1Click(Sender: TObject);
begin
image.Picture.LoadFromFile(filelistbox1.filename);
end;
И при выборе картинки вот такая ошибка:
#77
что делать?


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
to all
Подскажите люди добрые, как в программу, написанную на Delphi, вставить проверку русского языка и орфографии?

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Привет, я начинаю программировать в делфи. Подскажите мне про события OnChange и OnChanging


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
Olishna1987
OnChanging - это где ты увидела? А OnChange - как что-то изменишь, то сразу срабатывает это событие (после изменения).

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Максим
ну вот допустим, на твоей форме присутствует компонент Tree, и когда заходишь в обработчик событий там есть OnChange и OnChanging. Вот мне интересно, чем они отличаются друг от друга. В моем расположении есть Библия Делфи у Михаила Фленова, но с этими событиями там всё запутано
Добавлено спустя 57 секунд
Максим
это сообщение тебе было адресовано


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
Olishna1987
НУ если вспомнить английский, то Onchanging видимо срабатывает до выполнения изменения.

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Максим
я окончательно запуталась :)


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
Olishna1987
Ок, 79451126 - аська, maxim.ulitin@gmail.com - почта. Сейчас уже ухожу, а завтра поговорим

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Advanced member
Статус: Не в сети
Регистрация: 23.10.2003
Откуда: Иркутск/Майкоп
Максим
Спасибо, интересно. :) А я думал, придется лезть в windows.pas.
Цитата:
Подскажите люди добрые, как в программу, написанную на Delphi, вставить проверку русского языка и орфографии

В сети предлагают вызывать Word'овскую проверку.
http://delphiworld.narod.ru/base/delphi_spell.html
Но при этом проверяется только орфография.

_________________
Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
vor
Вот бы еще пальцем ткнул, а так надо в обычном TMemo сделать так же, как сделано в word или например в том же Фоксе при установке некоторых плагинов.

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Расскажите мне про событие OnChange.


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
Olishna1987
Слушай, а куда ты из аську пропала? :(

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
Есть два объекта одного типа. Есть ли простой способ скопировать свойства одного объекта в другой? Если просто присвоить один объект другому, они начинают ссылаться на одну и ту же область памяти, и при удалении (изменении) одного объекта удаляются (изменяются) свойства другого. Или каждый раз создавать у объекта метод Copy, в котором вручную прописывать копирование всех свойств?

_________________
*AMD OverClan*


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
R73
А если есть у этого компонента метод assign, то через него. НУ например - image1.assign(image2)

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
Максим
Тоесть мои объекты должны происходить от класса TPersistent. Спасибо, завтра попробую.

_________________
*AMD OverClan*


 

Advanced member
Статус: Не в сети
Регистрация: 23.10.2003
Откуда: Иркутск/Майкоп
Максим писал(а):
Вот бы еще пальцем ткнул

В смысле? Я спросил у Яндекса: "Орфография Delphi". Даже пример нашелся. Правда, для Builder'а.

_________________
Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.


 

Member
Статус: Не в сети
Регистрация: 05.01.2003
Откуда: Москва
Фото: 2
vor
Выложил бы ссылку, хоть почитал бы :)

R73
ДА ты можешь просто посмотреть в исходниках, как они делают это. Вот и все.

_________________
Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!


 

Advanced member
Статус: Не в сети
Регистрация: 23.10.2003
Откуда: Иркутск/Майкоп
Максим
http://www.excode.ru/art4529p12.html

_________________
Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2317 • Страница 103 из 116<  1 ... 100  101  102  103  104  105  106 ... 116  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan