No wię tak: mam guzik ResetButton na Form1 (patrz obrazek poniżej), i dokładnie taki sam w Form2. Oba mają takie same funkcje, np. OnMouseUp. No i chciałbym z Form2 wywołać Form1->ResetButton->OnMouseUp(), no ale właśnie nie działa. Chciałem zrobić OnClick, lecz to samo. Oto error: [C++ Error] Unit2.cpp(46): E2192 Too few parameters in call. Skapnąłem się już, że w nawiasie jest za mało parametrów, ale nie wiem czy to i tak zadziała... POMOCYYY!!! Tutaj jest obrazek:
Nie patrzcie na przycisk Builderowy, tylko ten zrobiony przeze mnie. Oto mój kod z Form1:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "mmsystem.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "trayicon"
#pragma resource "*.dfm"
TForm1 *Form1;
//ilosc sekund
int s=5;
int godzin,minut,sekund;
AnsiString godz,min,sek;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
s--;
godzin=s/3600;
godz=IntToStr(godzin);
if(godzin<10) godz="0"+godz;
minut=(s-godzin*3600)/60;
min=IntToStr(minut);
if(minut<10) min="0"+min;
sekund=s-godzin*3600-minut*60;
sek=IntToStr(sekund);
if(sekund<10) sek="0"+sek;
Label1->Caption=godz+":"+min+":"+sek;
if(s<=0)
{
sndPlaySound("Dzwieki/alarm.wav",SND_ASYNC);
Form2->Show();
Label1->Top=56;
Label1->Font->Size=18;
Label1->Caption="KONIEC CZASU!!!";
ResetButton->Visible=true;
reset->Visible=true;
Timer1->Enabled=false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrayIcon1Click(TObject *Sender)
{
Show();
Application->BringToFront();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::resetClick(TObject *Sender)
{
s=5;
godzin=s/3600;
godz=IntToStr(godzin);
if(godzin<10) godz="0"+godz;
minut=(s-godzin*3600)/60;
min=IntToStr(minut);
if(minut<10) min="0"+min;
sekund=s-godzin*3600-minut*60;
sek=IntToStr(sekund);
if(sekund<10) sek="0"+sek;
Label1->Top=40;
Label1->Font->Size=36;
Label1->Caption=godz+":"+min+":"+sek;
reset->Visible=false;
Form1->Visible=false;
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ResetButtonMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
ResetButton->Cursor=crHandPoint;
if((X>10&&X<151)&&(Y>10&&Y<39))
ResetButton->Picture->LoadFromFile("Obrazki/button najechany.bmp");
else ResetButton->Picture->LoadFromFile("Obrazki/button niewcisniety.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ResetButtonMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
ResetButton->Picture->LoadFromFile("Obrazki/button wcisniety.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ResetButtonMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
s=5;
godzin=s/3600;
godz=IntToStr(godzin);
if(godzin<10) godz="0"+godz;
minut=(s-godzin*3600)/60;
min=IntToStr(minut);
if(minut<10) min="0"+min;
sekund=s-godzin*3600-minut*60;
sek=IntToStr(sekund);
if(sekund<10) sek="0"+sek;
Label1->Top=40;
Label1->Font->Size=36;
Label1->Caption=godz+":"+min+":"+sek;
reset->Visible=false;
Form1->Visible=false;
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
A to z Form2:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::resetClick(TObject *Sender)
{
Form1->reset->Click();
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ResetButtonMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
ResetButton->Cursor=crHandPoint;
if((X>10&&X<151)&&(Y>10&&Y<39))
ResetButton->Picture->LoadFromFile("Obrazki/button najechany.bmp");
else ResetButton->Picture->LoadFromFile("Obrazki/button niewcisniety.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ResetButtonMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
ResetButton->Picture->LoadFromFile("Obrazki/button wcisniety.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm2::ResetButtonMouseUp(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Form1->ResetButton->OnMouseUp(); // i tutaj mi nie działa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Close();
}
//---------------------------------------------------------------------------
Ufff... Się napisałem! Mam nadzieję, że coś z tego zrozumiecie i spróbujecie mi pomóc :3