Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2006-10-31 11:23:18 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 19:56:07
карма: 0

0
Ответов: 9906
Рейтинг: 351
#2: 2006-10-31 11:31:21 ЛС | профиль | цитата
Пока приведенное не убеждает, что оно вообще должно компилироваться.
Но убеждает, что вызываться будет, если первое скомпилируется.
А отсюда вопрос: оно НЕ вызывается, или НЕ компилируется

хех интересно - вы на эти рожицы (где код) не обращайте внимания, дурь какая-то
Даже знаем чья
карма: 9

0
Ответов: 4
Рейтинг: 0
#3: 2006-10-31 11:34:44 ЛС | профиль | цитата
компилируется ещё как компилируется - Delphi 4 компилер
так что у меня ВСЁ компилируется
если ты имеешь ввиду все эти точки и звёздочки или это
BlaBlaBla только чтобы сократить размер поста не приводить же
мне весь код?!
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 262
Рейтинг: 6
#4: 2006-10-31 12:30:47 ЛС | профиль | цитата
поясни мне многоуважаемый nobody, откуда function BlaBlaBla взяла у тебя _event_onValue ? Это что у тебя глобальная переменная типа THI_Event ? Фантастика. Как ты заставил компилироваться это?
карма: 0

0
Ответов: 9906
Рейтинг: 351
#5: 2006-10-31 14:44:51 ЛС | профиль | цитата
NOBODY писал(а):
компилируется ещё как компилируется - Delphi 4 компилер
так что у меня ВСЁ компилируется

Ну все понятно: вторая степень детского сада. Скажите где я ошибся, но я Вам своих кодов не покажу.
Не покажу, есть ли среди uses, модуль определяющий нужные имена
Не покажу, где и как определялся _event_onValue
И не скажу, в какой момент, относительно системной инициализации просходят действия, вызывающие вопросы.

NOBODY, вот интересно, чтобы ты ответил на нашем месте
карма: 9

0
Ответов: 4
Рейтинг: 0
#6: 2006-11-01 11:26:27 ЛС | профиль | цитата
Galkov писал(а):
NOBODY писал(а):
компилируется ещё как компилируется - Delphi 4 компилер
так что у меня ВСЁ компилируется

Ну все понятно: вторая степень детского сада. Скажите где я ошибся, но я Вам своих кодов не покажу.
Не покажу, есть ли среди uses, модуль определяющий нужные имена
Не покажу, где и как определялся _event_onValue
И не скажу, в какой момент, относительно системной инициализации просходят действия, вызывающие вопросы.

NOBODY, вот интересно, чтобы ты ответил на нашем месте


А теперь по порядку:
1: Я (как мне кажется) нормально и предельно ясно все описал, а программированием на Delphi
я занимаюсь впервые, может по этому код мной приеденный и немного странен, я вообщето
программирую на VB.NET и наверное знаю о процедурах, функциях, классах и т.д.
2: Из того что я 'знаю' о Дельфи я могу сказать что вызвать Event можно так:
_hi_onEvent(_event_onBlaBlaBla);
_hi_onEvent(_event_onBlaBlaBla,Data); - с данными в поток
Вот код функции:

function BlaBlaBla(const Data:PChar):PData;
begin
_hi_onEvent(_event_onBlaBlaBla,Data);
end;
Event BlaBlaBla - у меня объявляется в самом начале кода:
(сама точка на элементе объявлена в ini компонента)

unit hiBlaBlaBla;

interface

uses Kol,Share,Debug,Windows;

type
THIBlaBlaBla = class(TDebug)
private
...
public
[b]_event_onBlaBlaBla:THI_Event;[/b]
...
end;

Функцию BlaBlaBla я вызываю из другого компонента (из кода):

unit hiBlaBlaBla2;

interface

uses Kol,Share,Debug;

type
THIBlaBlaBla2 = class(TDebug)
private
...
public
...
procedure _work_doSomething(var _Data:TData; Index:word);
...
implementation

[b]uses hiBlaBlaBla;[/b]

procedure THIBlaBlaBla2._work_doSomething;
begin
...
[b]BlaBlaBla(PChar(ToString(VarTraLyaLya)));[/b]
...
Теперь на словах:
Я объяляю Event в компоненте, мне надо вызать этот Event из кода
другого компонента (не выходит), я делаю функцию которую я буду
вызывать из кода другого компонента (работает, вызывается), вставляю
вызов своего Event'a в код этой функции, но функция работает, а
Event не 'происходит' (на точке этого Event'a в компоненте ничего не
происходит) Теперь, надеюсь, моя проблема ясна...
Вот более-менее готовый вопрос:
Как мне (может другим способом) вызать Event из функции BlaBlaBla
и в этот Event (в поток) записать данные Data
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2125
Рейтинг: 159
#7: 2006-11-01 12:16:50 ЛС | профиль | цитата
NOBODY, во-первых, поясни какому классу принадлежит твоя функция BlaBlaBla, из вышесказанного создаётся впечатление, что никакому, то есть глобальная. В таком случае, как и откуда ты получаешь _event_onBlaBlaBla?
карма: 1

0
Ответов: 4
Рейтинг: 0
#8: 2006-11-01 12:56:31 ЛС | профиль | цитата
Я делаю компонент по образцу другого компонента, я пока Delphi знаю на кол,
в коде написано абсолютно все про эту функцию, я так понимаю - ты спрашиваешь
где она объявляется?если так, посмотри ниже поста. А в каком это смысле откуда
ты получаешь _event_onBlaBlaBla? этот event объявлен в начале всего кода и в ini
компанента, эта точка на комапненте onBlaBlaBla, может я чего не так понял
вот так объявлен event onBlaBlaBla и function BlaBlaBla

public
...
_event_onBlaBlaBla:THI_Event;

end;
...
function BlaBlaBla(const Name:PChar):PData;
implementation
...
ну там дальше код и код самой функции BlaBlaBla
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#9: 2006-11-01 14:14:09 ЛС | профиль | цитата
Мы увидели:
1) определение поля _event_onBlaBlaBla как поле класса THIBlaBlaBla, к которому есть BlaBlaBla.ini, как элементу среды
2) предопределение ф-ии BlaBlaBla как глобальной.

Следовательно: либо это не будет компилироваться
function BlaBlaBla(const Data:PChar):PData;
begin
_hi_onEvent(_event_onBlaBlaBla,Data);
end;
либо нам показали не то, что есть на самом деле

Мораль: Пользователь NOBODY, нам что, делать нечего - ребусы разгадывать
карма: 9

0
Ответов: 2125
Рейтинг: 159
#10: 2006-11-01 14:15:29 ЛС | профиль | цитата
То есть переменная _event_onBlaBlaBla тоже глобальная? В таком случае, она остаётся пустой. По логике ХиАсм-а переменные _event_onBlaBlaBla декларируются в том классе компонента (внутри класса, а не просто в модуле), у которого есть точка-событие onBlaBlaBla. При построении кода программы ХиАсм в коде инициализации присваиваются поля объекта, в том числе и события в зависимости от связей на схеме.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#11: 2006-11-01 14:26:35 ЛС | профиль | цитата
tsdima писал(а):
То есть переменная _event_onBlaBlaBla тоже глобальная?
А внутри какого public-end тогда она стоит

Хотя, это - дурдом на каникулах, конечно же
карма: 9

0
Ответов: 2125
Рейтинг: 159
#12: 2006-11-01 14:28:51 ЛС | профиль | цитата
Либо человек запостит свой код, либо помощи не получит
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2006-11-01 20:36:11 ЛС | профиль | цитата
NOBODY, если ты на VB.NET писал свои собственные классы, а не делал монолитную программу в рамках одного namespace, то должен был заметить, что доступ к полям класса получить не возможно пока не будет создан объект данного класса. Твоя задача
Я объяляю Event в компоненте, мне надо вызать этот Event из кода другого компонента (не выходит)

мало того, что не вписывается в рамки общей концепции так она еще и не выполнима без изменений в кодогенераторе. Приведенные тобой отрывки кода не могли компилироваться без ошибки, либо ошибка возникла при переносе кода на форум. Причина: _event_onBlaBlaBla объявлен в public секции класса THIBlaBlaBla, а ф-ция BlaBlaBla находится в совершенно другом юните, не является методом класса и получить доступ к _event_onBlaBlaBla никак не могла.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#14: 2006-11-01 20:45:55 ЛС | профиль | цитата
Dilma, вообще-то выполнима и без изменений в CodeGen
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2006-11-01 21:06:55 ЛС | профиль | цитата
Каким же образом интересно
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)