Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 426

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, эксперты!
Мой вопрос заключается в следующем
Имеется переменная типа variant из которой делается массив типа varInt64 в связи счем возникает ошибка, причем если вместо типа varInt64 использовать varInteger, то ошибки нет.
Суть вопроса у всех ли так или я один такой если у когото ошибка не возникает если не трудно отпишите какая у вас система 32 или 64 битная?
Ну и конечно буду рад если ктонибудь подскажет как обойти эту ошибку.

Приложение:
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Button1: TButton;
  12. procedure Button1Click(Sender: TObject);
  13. private
  14. { Private declarations }
  15. public
  16. { Public declarations }
  17. end;
  18.  
  19. var
  20. Form1: TForm1;
  21. arr: variant;
  22.  
  23. implementation
  24.  
  25. {$R *.dfm}
  26.  
  27. procedure TForm1.Button1Click(Sender: TObject);
  28. begin
  29.  
  30.  
  31. end;
  32.  
  33. end.


SOA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SOA (статус: Посетитель)
Вопрос отправлен: 14 июля 2010, 18:03
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 23; последнее сообщение — 15 июля 2010, 15:13; участников в обсуждении: 3.

Страницы: [« Предыдущая] [1] [2]

min@y™

min@y™ (статус: Доктор наук), 15 июля 2010, 11:51 [#21]:

Цитата (SOA):

Если я тебя правильно понял то еще понадобятся несколько переменных различного типа для использования в качестве буфера, когда будешь считывать данные из TMemoryStream так?

Естественно.
Просто нужно при каждом считывании очередной порции данных из стрима знать 2 вещи: размер порции и её смещение относительно начала стрима.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 15 июля 2010, 11:52 [#22]:

Цитата (SOA):

Я еще раз хочу у всех спросить функция VarArrayCreate([0,4], varInt64) для типа varInt64 не работает только у меня или же всетаки нет?

Не знаю, не пробовал. А какая ошибка вываливается?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 15 июля 2010, 15:13 [#23]:

В принципе логично, но при считывании из потока придется использовать цикл, а у меня все это реализовано несколько иначе, потому что я боюсь что слишком много циклов могут затормозить если не систему, то приложение.
(Слишком много циклов потому что считывание и воспроизведение идут в разных потоках для каждого канала, в моем случае каналов 2, но их может быть до 16 и как следствие 32 потока).


Ошибка
error creating variant or safe array

Страницы: [« Предыдущая] [1] [2]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 25 апреля 2026, 22:35
Выполнено за 0.02 сек.