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

Вниз

Как послать сообщение форме из скрипта FastReport   Найти похожие ветки 

 
tytus   (2008-03-24 12:58) [0]

Добрый день всем.
Собственно вот такой вот вопрос.
В переменную FFmID записываю хендл формы:

frxReport1.Variables["FFmID"]:=NewPCMDTestDnFm.Handle;
Вот код скрипта :
uses "Windows.pas";
 
const
 CX_CALLTYPE=WM_USER+60;
   
procedure Memo21OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);
begin
 Modified:=false;
 PostMessage(Get("FFmID"),CX_CALLTYPE,0,StrToInt(TfrxMemoView(Sender).Text));                                                                                                      
end;

begin

end.


ругается <"BEGIN" Expected
как правильно сие написать?


 
Сергей М. ©   (2008-03-24 13:25) [1]


> uses "Windows.pas";


Юниты, перечисленные в uses, должны соответствовать правилам PascalScript-интерпретатора. Совершенно очевидно, что Windows.pas им не соответствует.


 
tytus   (2008-03-24 14:16) [2]

>Сергей М. ©   (24.03.08 13:25) [1]
ОК, это дело я уже отбросил.
В юните формы написал процедуру с одним ShowMessage("xxx"), описал ее в
public, и переписал скрипт. Все равно одна и та-же ошибка.

uses "PCMDTestDN_Unit.pas";
 
procedure Memo21OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);
begin
 Modified:=false;
 PCMDTestDnFm.ShowCallType(TfrxMemoView(Sender).Text);                                                                                                      
end;

begin

end.


как быть теперь?


 
Сергей М. ©   (2008-03-24 14:24) [3]


> как быть теперь?


А точно так же - твой PCMDTestDN_Unit.pas не является юнитом, корректным с т.з. PascalScript.


 
tytus   (2008-03-24 14:34) [4]

>Сергей М. ©
Спасибо. Значит не судьба...
Мне вообщето нужно было всего-то по щелчку на MemoView отобразить мессаг с текстом, в зависимости от значения самого мемовью. Не хотелось писать оператор case в самом скрипте....
Во первых - вариантов может быть много, а во-вторых - варианты могут поменяться. Тоесть значению "1" - соотв. один текст. "2" - другой... Эти значения я храню в БД (Oracle) и удобнее изменить таблицу в базе, чем саму прогу, и потом снова раздавать юзерам. (хотя я и апдейт сделал). А пользователям внапряг каждый раз обновлять прогу (особенно если пользователь - лицо начальствующее -)


 
Сергей М. ©   (2008-03-24 15:01) [5]


> tytus   (24.03.08 14:34) [4]


> не судьба


Ну почему не судьба ?
Насколько мне помнится, PS позволяет декларировать и осуществлять вызовы экспортируемых другими PE-модулями ф-ций, в частности WinAPI. Просто надо повнимательней изучить док-цию.


 
tytus   (2008-03-24 18:53) [6]

>Сергей М. ©   (24.03.08 15:01) [5]
Огромнейшее спасибо!
Подтолкнули на путь истинный.
Прочитал доку "FastReport - Руководство разработчика".
Оказывается у FastReport-a есть метод frxReport1UserFunction!!!
Написал свою процедуру Procedure xxx(AValue:string);
Добавил ее:
frxReport1.AddFunction("Procedure xxx(AValue:string)");

Ну а далее - дело техники...



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
8-1189531969
Dmitry_12_08_73
2007-09-11 21:32
2009.01.18
Перекодировка русских букв в URL


2-1228158315
Костя
2008-12-01 22:05
2009.01.18
Мониторинг сетевых подключений.


2-1228662640
алгоритм
2008-12-07 18:10
2009.01.18
подстакажите алгоритм нахождения точки


15-1227434110
{RASkov}
2008-11-23 12:55
2009.01.18
Нет звука


4-1200044109
JetuS
2008-01-11 12:35
2009.01.18
Как загрузить анимационный курсор (ANI) из ресурсов?