Имя: Пароль:
IT
Админ
Наверно никто не поможет Delphi
0 john_ddd
 
09.06.12
16:23
procedure TForm1.Button1Click(Sender: TObject);
var
 ws: Morpher.MorpherSoap;
 a: string;
begin
 // получаем интерфейс
 ws := Morpher.GetMorpherSoap();
 // вызываем процедуру сервиса
// with ws do
   a:='123';
   ShowMessage(ws.PropisRUB(a));
end;

end.

Ругается
[DCC Error] Unit1.pas(38): E2010 Incompatible types: 'TXSDecimal' and 'string'
[DCC Fatal Error] Project5.dpr(6): F2063 Could not compile used unit 'Unit1.pas'
1 MrStomak
 
09.06.12
16:25
мм.. ну видимо он в ShowMessage(ws.PropisRUB(a)); в качестве a ждем не строку..
2 Buster007
 
09.06.12
16:26
мб переменная а должна быть TXSDecimal а не string?
3 DGorgoN
 
09.06.12
16:27
не помню уже, лучше наверное ромикса никто не подскажет. Я щас c# снова начал ковырять.
4 Total Commander
 
09.06.12
16:29
ws.PropisRUB(a) возвращает значение типа TXSDecimal, для ShowMessage нужно string - необходимо сделать приведение типов. Попробуй
ShowMessage(FloatToStr(ws.PropisRUB(a)));
5 Жан Пердежон
 
09.06.12
16:29
попробуй
а:=123;
6 MrStomak
 
09.06.12
16:29
a : TxsDecimal;
begin
a := TXSDecimal.Create;
a.DecimalString = '123'

Как-то так попробуй определять а
7 H A D G E H O G s
 
09.06.12
16:30
Собрались телепаты фиговы.
8 john_ddd
 
09.06.12
16:30
попробовал
ShowMessage(FloatToStr(ws.PropisRUB(a)));
такая же ошибка
9 john_ddd
 
09.06.12
16:32
a : TxsDecimal;
на такое сразу ругатеся
[DCC Error] Unit1.pas(31): E2003 Undeclared identifier: 'TxsDecimal'
10 rutony
 
09.06.12
16:32
Я б попробывал перед переменной воткнуть @, может этот тип по сути и есть строка

А вообще посмотри что за тип то...
11 Total Commander
 
09.06.12
16:32
(8) Значит нужно по другому, ищи как привести TXSDecimal (вообще посмотри что за тип такой, как описан) к string.
12 СноваЗдорова
 
09.06.12
16:32
(8) Так то... плевать ему на вас, телепаты!
13 H A D G E H O G s
 
09.06.12
16:33
(9) Че за компоненту на форму бросил, что за модули подключил? Типовые? Сторонное?
14 MrStomak
 
09.06.12
16:33
ShowMessage(ws.PropisRUB(a).NativeToXS)
?
15 H A D G E H O G s
 
09.06.12
16:33
ППЦ.
16 Total Commander
 
09.06.12
16:34
(13) Сторонние, да нет таких нативных типов.
17 john_ddd
 
09.06.12
16:34
18 john_ddd
 
09.06.12
16:34
вот это пробую
19 john_ddd
 
09.06.12
16:35
ShowMessage(ws.PropisRUB(a).NativeToXS)
ругается
20 H A D G E H O G s
 
09.06.12
16:35
(17) Слава яйцам.
21 john_ddd
 
09.06.12
16:36
(20)
модуль сделат как там описан
а кнопку в VCL form
22 H A D G E H O G s
 
09.06.12
16:36
(21) Адрес сервиса скажи
23 H A D G E H O G s
 
09.06.12
16:37
(21) Поди локальный?
24 john_ddd
 
09.06.12
16:37
25 john_ddd
 
09.06.12
16:37
не) етоже морфиус
26 john_ddd
 
09.06.12
16:38
склоняет числа и слова...смотря какой запрос
27 MrStomak
 
09.06.12
16:38
(19) Какое сообщение ошибки?
28 john_ddd
 
09.06.12
16:39
(27)[DCC Error] Unit1.pas(38): E2010 Incompatible types: 'TXSDecimal' and 'string'
[DCC Fatal Error] Project5.dpr(6): F2063 Could not compile used unit 'Unit1.pas'
29 MrStomak
 
09.06.12
16:40
как я вижу по ws, он всё-таки джём не строку, а именно decimal, попробуй (6) только подключи юнит XSBuiltIns
30 Жан Пердежон
 
09.06.12
16:41
var
a    :TXSDecimal;

a  := TXSDecimal.Create;
a.XSToNative('123');
31 john_ddd
 
09.06.12
16:43
(30)
[DCC Error] Unit1.pas(31): E2003 Undeclared identifier: 'TXSDecimal'
32 john_ddd
 
09.06.12
16:43
(29)а как его подключить?
33 MrStomak
 
09.06.12
16:43
(31) uses XSBuiltIns
34 john_ddd
 
09.06.12
16:44
я то сам 1с овец...вот тыкаю делфи как могу)
35 john_ddd
 
09.06.12
16:46
(34)[DCC Error] Unit1.pas(31): E2003 Undeclared identifier: 'TxsDecimal'
36 john_ddd
 
09.06.12
16:46
похоже такого вообще класса нет
37 john_ddd
 
09.06.12
16:47
H A D G E H O G s получилось чего?
38 H A D G E H O G s
 
09.06.12
16:47
(37) Она (SOAP) ругается, что не может использоваться в объекте класса TForm
39 john_ddd
 
09.06.12
16:49
(38)а как обойти?
40 MrStomak
 
09.06.12
16:52
(35) значит xsbuiltins не подключился
41 john_ddd
 
09.06.12
16:53
(40) Можешь исправить этот код
procedure TForm1.Button1Click(Sender: TObject);
var
ws: Morpher.MorpherSoap;
a: string;
begin
// получаем интерфейс
ws := Morpher.GetMorpherSoap();
// вызываем процедуру сервиса
// with ws do
  a:='123';
  ShowMessage(ws.PropisRUB(a));
end;

end.
42 MrStomak
 
09.06.12
16:54
(41) юниты объявляются раньше, в самом нечале модуля
43 MrStomak
 
09.06.12
16:55
procedure TForm1.Button1Click(Sender: TObject);
var
ws: Morpher.MorpherSoap;
a: TXSDecimal;
begin
// получаем интерфейс
ws := Morpher.GetMorpherSoap();
// вызываем процедуру сервиса
// with ws do
  a  := TXSDecimal.Create;
  a.XSToNative('123');
  ShowMessage(ws.PropisRUB(a));
end;

end.
44 john_ddd
 
09.06.12
16:58
(43)крутоо) спасибо)))))) заработало)
Основная теорема систематики: Новые системы плодят новые проблемы.