We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.
Overigens is 'objectnaam->expressie' niet helemaal correct. Dat zal dan 'PointerNaarObject->method ()' of 'PointerNaarObject->property' zijn.
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Normaal definieer je een nieuwe instantie van een object via <naam> = new <Type Object>. Maar ik vraag me af hoe het standaard gegenereerd wordt voor de main app....
We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.
Je moet er wel rekening mee houden dat het niet zo is zoals in VB. In C++ Builder en Delphi moet je van een class (dus ook van een form, en dus ook van je mainform), eerst een object instantieren. Je hoofdformulier staat ingesteld in de Project options als 'AutoCreated', dwz dat BCB er al automatisch een object van instantieert. Ik denk dat je de naam van dat object dan vind in de headerfile van je main-form. (Kan het nu niet controleren, heb hier geen BCB meer).
Dat zou er dan als volgt uitzien:
1
2
| TfrmMain* frmMain; frmMain = new TfrmMain(); |
Owja, als je nog niet kunt programmeren, dan raad ik je aan om niet direct met C++ Builder of VC++ te beginnen, maar dat je eerst gewoon console-applicaties maakt. Dat is natuurlijk niet zo spannend of 'flashy', maar het is wel belangrijk dat je de basis goed onder de knie krijgt. Als je al direct begint met voor Windows te programmeren, dan ga je bezig zijn met zodaning veel Windows-dingen dat je de relevante programmeerzaken vergeet.
[ Voor 27% gewijzigd door whoami op 25-11-2002 21:00 ]
https://fgheysels.github.io/
Maar ik had al gezicht naar die code die je daar ophoest... Want dat is herkenbaar...
Het is juist het gebrek er aan wat me zo doet laten zoeken.
We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.
WarMaster schreef op 25 november 2002 @ 21:05:
Ik kan op zich wel proggen... C is op zich vrij een eitje.. Het is echter dat hele ++ gebeuren met alle objecten en alle standaarden die me flink laten knarsen in de kop...
Maar ik had al gezicht naar die code die je daar ophoest... Want dat is herkenbaar...
Het is juist het gebrek er aan wat me zo doet laten zoeken.
Kijk eens in het menu Project / Options, en dan het tabblad Forms oid. Staat uw mainform daar bij de 'autocreated' forms?
Zoja, dan moet er wel één of andere instantie van dat form automatisch aangemaakt zijn. Normaal zal dat de naam van de class zijn van dat form (maar dan zonder T). Indien die form op auto-created staat, kijk dan toch eens in de headerfile van die mainform.
https://fgheysels.github.io/
1
2
| TfrmMain* frmMain; frmMain = new TfrmMain(); |
Maar met:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #include <vcl.h>
#pragma hdrstop
USERES("Project1.res");
USEFORM("Unit1.cpp", Form1);
USEFORM("Unit2.cpp", Form2);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
} |
Voor de rest staat er niets in de header van de Unit1 wat enige significantie heeft volgens mij...
Er staat wel in de header:
TForm1 *Form1;
Maar daarmee kan ik dus niet het object aanroepen vanaf de andere unit.
[ Voor 23% gewijzigd door WarMaster op 25-11-2002 21:28 ]
We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.
WarMaster schreef op 25 November 2002 @ 21:15:
Maar daarmee kan ik dus niet het object aanroepen vanaf de andere unit.
Je zult in die andere unit natuurlijk die header moeten includen.
[ Voor 64% gewijzigd door whoami op 25-11-2002 21:54 ]
https://fgheysels.github.io/
Uiteraard! Ik heb in beide units een include staan van elkaar's headerswhoami schreef op 25 november 2002 @ 21:54:
[...]
Je zult in die andere unit natuurlijk die header moeten includen.
CHRIST!
Never mind... Opgelost... Het is dommer dan ik ooit had kunnen verwachten..
Ik had de functie zelf nog niet gemaakt in de unit... wel gedefinieerd, maar niet gemaakt
[ Voor 27% gewijzigd door WarMaster op 25-11-2002 22:03 ]
We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.