|
델파이에서 이렇게 선언 된 것을 빌더로 고치는 중인데 한가지 막히는
부분이 있습니다.
procedure TMainForm.MsgSimulator1StopRecord(Sender: TObject);
var
i : integer;
mi : TMessageItem; <------------- 막히는 부분
s : string;
begin
StopBut.Enabled := False;
for i := 0 to MsgSimulator1.Messages.Count-1 do begin
mi := MsgSimulator1.Messages[i];
s := Format('Msg: %3d X: %4d Y: %4d Key: %4.4x Delay: %4d', [integer(mi.Msg), mi.PosX, mi.PosY, mi.VkKey, mi.Delay]);
Memo1.Lines.Add(s);
end;
end;
end.
//---------------------------------------------------------------------------------
void __fastcall TForm1::MsgSimulator1StopRecord(TObject *Sender)
{
int i;
TMessageItem mi; ----------->이렇게 했더니 되지 않습니다.
String s;
StopBut->Enabled = False;
for (i=0; i=MsgSimulator1->Messages->Count-1; i++)
mi = MsgSimulator1->Messages[i];
s = Format("Msg: %3d X: %4d Y: %4d Key: %4.4x Delay: %4d", [int(mi->Msg), mi->PosX, mi->PosY, mi->VkKey, mi->Delay]);
Memo1->Lines->Add(s);
}
//-----------------------------------------
TMessageItem 이게 *.pas에서 *.hpp로 바뀐 것을 보니
TCollectionItem 클래스로 되어있는것 같습니다.
어떻게 MsgSimulator1StopRecord 부분에서 선언해야
하는지요? 답변 부탁드립니다.
//-- user supplied -----------------------------------------------------------
namespace Msgsimulator
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TWMMessage { mmMouseDown, mmMouseUp, mmMouseMove, mmKeyDown, mmKeyUp };
#pragma option pop
class DELPHICLASS TMessageItem;
class PASCALIMPLEMENTATION TMessageItem : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
protected:
#pragma pack(push, 1)
tagEVENTMSG em;
#pragma pack(pop)
TWMMessage FMsg;
unsigned FDelay;
int FX;
int FY;
int FKey;
int FHWND;
Controls::TMouseButton FButton;
void __fastcall Fill_EM_From_Props(void);
void __fastcall Fill_Props_From_EM(void);
public:
__fastcall virtual TMessageItem(Classes::TCollection* Collection);
__property int HWND = {read=FHWND, write=FHWND, nodefault};
__published:
__property TWMMessage Msg = {read=FMsg, write=FMsg, nodefault};
__property int PosX = {read=FX, write=FX, nodefault};
__property int PosY = {read=FY, write=FY, nodefault};
__property int VkKey = {read=FKey, write=FKey, nodefault};
__property unsigned Delay = {read=FDelay, write=FDelay, nodefault};
__property Controls::TMouseButton Button = {read=FButton, write=FButton, nodefault};
public:
#pragma option push -w-inl
/* TCollectionItem.Destroy */ inline __fastcall virtual ~TMessageItem(void) { }
#pragma option pop
};
이 밑에 부분은 생략
//---------------------------------------------
그럼..감사합니다..
|