Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2008, 21:30   #1
Ash
Пользователь
 
Аватар для Ash
 
Регистрация: 27.10.2008
Сообщений: 45
По умолчанию Ошибка - [Error] GraphUnit.pas(104): Types of actual and formal var parameters must be identical

Имеем код:

...
FromDate: TDateTimePicker;
....
...
DecodeDate(FromDate.DateTime, FromYear, FromMonth, FromDay);

Получаем ошибку: [Error] GraphUnit.pas(104): Types of actual and formal var parameters must be identical

Но типы-то совпадают, насколько я понимаю... Бред...Через промежуточную переменную разумеется то же самое... А чего еще сделать-то?

Последний раз редактировалось Ash; 06.12.2008 в 00:05.
Ash вне форума Ответить с цитированием
Старый 05.12.2008, 23:23   #2
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Ошибку переводили на Rus?
Ответ:
Код:
procedure TForm1.Button1Click(Sender: TObject);
 Type TCale = Record
  Yer, Mont, Day :Word;
 end;
Var Dat :TCale;
begin
 DecodeDate(DateTimePicker1.DateTime, Dat.Yer, Dat.Mont, Dat.Day);
 Edit1.Text := IntToStr(Dat.Yer);
 Edit2.Text := IntToStr(Dat.Mont);
 Edit3.Text := IntToStr(Dat.Day);
end;
Alter вне форума Ответить с цитированием
Старый 06.12.2008, 00:04   #3
Ash
Пользователь
 
Аватар для Ash
 
Регистрация: 27.10.2008
Сообщений: 45
По умолчанию

Нет, я видимо чего-то недопояснил или недопонял...Дело в том, что у пикера свойство datetime и первый параметр в функции декодедэйт имеют один и тот же тип(TdateTime)... вчем же ошибка?

Последний раз редактировалось Ash; 06.12.2008 в 00:06.
Ash вне форума Ответить с цитированием
Старый 06.12.2008, 00:08   #4
MalexG
Форумчанин
 
Регистрация: 06.11.2008
Сообщений: 100
По умолчанию

FromYear, FromMonth, FromDay - какой тип имеют эти переменные?
MalexG вне форума Ответить с цитированием
Старый 06.12.2008, 00:12   #5
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от Ash Посмотреть сообщение
DecodeDate(FromDate.DateTime, FromYear, FromMonth, FromDay);

Получаем ошибку: [Error] GraphUnit.pas(104): Types of actual and formal var parameters must be identical
Вообще-то, процедура DecodeDate находится в модуле SysUtils, а TDateTimePicker в модуле ComCtrls. Так что непонятно, при чем тут модуль GraphUnit? Может в этом модуле переопределяется DecodeDate? Тогда нужно писать SysUtils.DecodeDate(....)
Jeni вне форума Ответить с цитированием
Старый 06.12.2008, 00:55   #6
Ash
Пользователь
 
Аватар для Ash
 
Регистрация: 27.10.2008
Сообщений: 45
По умолчанию

MalexG, собственно, интеджер, как и должно быть в DecodeDate...

Jeni, GraphUnit - это просто моя форма, ничего там не переопределяется...
Ash вне форума Ответить с цитированием
Старый 06.12.2008, 01:04   #7
Ash
Пользователь
 
Аватар для Ash
 
Регистрация: 27.10.2008
Сообщений: 45
По умолчанию

MalexG, блядым, извини, Word...Всем спасибо...Вообще, видимо, спать пора...
Ash вне форума Ответить с цитированием
Старый 30.10.2012, 20:38   #8
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию

Код:


const
  BUFFER_SIZE = $1000;
  TB_GETBUTTON     = WM_USER + 23;
  TB_BUTTONCOUNT   = WM_USER + 24;
  TB_GETBUTTONTEXT = WM_USER + 75;
  TB_DELETEBUTTON  = WM_USER + 22;
    type
  TTBBUTTON = record
    iBitmap : Integer;
    idCommand : Integer;
    fsState : byte;
    fsStyle : byte;
    {$IFDEF WIN64}
    hReserved : array [0..5] of byte;
    {$ELSE}
    {$IFDEF WIN32}
    hReserved : array [0..1] of byte;
    {$ENDIF}
    {$ENDIF}
    dwData : Pointer;
    iString : PChar;
  end;
var
  OpProc : THandle;
  ProcID : THandle;
  ToolBar : THandle;
  Window : HWND;
  ButtonsCount : integer;
  i : Integer;
  Buffer : Pointer;
  DButton : TTBButton;
  RBytes : Cardinal;
  BTextLength : Integer;
  BText : WideString;
....

ReadProcessMemory(OpProc, Buffer, @DButton, SizeOf(TTBButton), RBytes);
ReadProcessMemory(OpProc, DButton.dwData, @Window, SizeOf(HWND), RBytes);
ReadProcessMemory(OpProc, Buffer, @(BText[1]), BTextLength * SizeOf(BText[1]), RBytes);
        

[dcc32 Error] Unit1.pas(178): E2033 Types of actual and formal var parameters must be identical
Delphi XE3
На 7й дельфе работало... Подскажите как исправить,?

Вот так:
Код:
var
RBytes : SIZE_T;

Последний раз редактировалось stlcrash; 30.10.2012 в 21:01.
stlcrash вне форума Ответить с цитированием
Старый 30.10.2012, 21:01   #9
stlcrash
Форумчанин
 
Регистрация: 04.07.2010
Сообщений: 131
По умолчанию

Код:
var
RBytes : SIZE_T;
stlcrash вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Error] Unit1.pas(40): Incompatible types: 'Integer' and 'Extended BETONOMESHALKA Общие вопросы Delphi 9 15.03.2014 17:26
ошибка - [Error] Unit1.pas(325): Operator not applicable to this operand type blackstersl Общие вопросы Delphi 6 27.08.2008 13:17
[Error] UIsp.pas(232): Incompatible types: 'TAge' and 'TDateTime' Nikitin Общие вопросы Delphi 2 03.04.2008 11:56
[Error] UnitMain.pas(40): Undeclared identifier: 'ShellExecute' Manitu Помощь студентам 9 07.03.2008 18:17
[Error] MainUnit.pas(100): Incompatible types: 'Cardinal' and 'TCaption' ben95 Общие вопросы Delphi 2 02.02.2008 14:35