![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Подскажите как в функции использовать компонент, например мне нужен ComPort1.
Код:
function SendSMS(telephone, smstext: string): integer;
begin
ComPort1.Open;
ComPort1.WriteStr('AT+CMGF=1' + #13#10);
Sleep(50);
ComPort1.WriteStr('AT+CMGS='+telephone+#13#10);
Sleep(50);
ComPort1.WriteStr(smstext);
Sleep(50);
ComPort1.WriteStr(Chr(26));
Sleep(50);
ComPort1.Close;
end;При компиляции ругается на Undeclared identifier: 'ComPort1' Если записать функцию как Код:
function TForm1.SendSMS(telephone, smstext: string): integer; |
|
#2
|
||||
|
||||
|
Обычно компонент передаётся в функцию как параметр, напр.
Код:
function SendSMS(telephone, smstext: string; ComPort: TComPort): integer; |
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
ivankom (15.04.2014)
| ||
|
#3
|
|||
|
|||
|
Заработало вот так:
Код:
function SendSMS(telephone, smstext: string; ComPort1: TComPort): integer; |
|
#4
|
|||
|
|||
|
Скомпилировал библиотеку, теперь ее нужно использовать в другом проекте, экспортирую:
Код:
function SendSMS(telephone, smstext: string; ComPort1: TComPort); external 'smslib.dll'; Ругается на Код:
[dcc32 Error] Unit1.pas(15): E2003 Undeclared identifier: 'TComPort' Как быть? |
|
#5
|
||||
|
||||
|
Вероятно надо добавить в uses вашего проекта юнит где прописан TComPort, возможно что это CPort, смотрите сами как он у вас называется
|
|
#6
|
|||
|
|||
|
Так не получиться, я основной проект пишу на XE5, туда не ставится компонент ComPort. Хотел сделать библиотеку на 7 версии и использовать ее в проекте написанном на XE5.
|