OT: constructor Pascal a C++
Milan Kratochvíl
krata.milan na seznam.cz
Středa Květen 25 19:24:05 CEST 2016
Jak to píši z domova, protože v práci nemám přístup na konferenci, tak
jsem udělal pár chyb.
Krom chybějící dvojtečky a endu místo } jsem ještě špatně napsal jak mám
definováno MereniA a MereniB
MereniA a MereniB mam definováno v části Public ve formuláři jako
TMereni* MereniA; a TMereni* MereniB;
Popravdě řečeno zkoušel jsem všechny následující tvary a pokud to
kompilátor přeložil tak to skončilo s popsanou chybou.
MereniA = new TMereni;
MereniA = new TMereni();
MereniA = new (TMereni());
A dokonce jsem někde našel i zápis, který mi to sice přeložilo ale stále
chyba při běhu programu.
MereniA = &TMereni::TMereni();
Díky
Milan
Dne 25.5.2016 v 19:05 Karel M napsal(a):
> Zběžně Vám mohu napsat toto: nevím co máte v OnCreate v C++, ale
> přidal bych závorky tedy:
>
> MereniA = new TMereni();
>
> do .h souboru bych přidal deklaraci_
>
> TMereni MereniA;
>
> v třídě máte dvakrát public, jeden bez dvojtečky, udělal bych to takto:
>
> class TMereni
> {
> private:
> int FMereni1;
> ........
> public:
> TMereni (void);
> ~TMereni (void);
> __property int Mereni1 = { read=FMereni1};
> .......
>
> Dne 25. května 2016 18:36 Milan Kratochvíl <krata.milan na seznam.cz
> <mailto:krata.milan na seznam.cz>> napsal(a):
>
> Zdravím všechny,
> musím přepsat program z pascalu do c++ protože novější knihovny má
> dodavatel pouze pro c++. Dělám v c pro jednočipy a tak jsem si
> myslel že to nebude tak strašný ale narazil jsem docela na začátku.
> V pascalu mám třídu TMereni, kterou vytvořím v události OnCreate
> od hlavního formuláře a vše je funkční.
>
> ... OnCreate...
> ...
> MereniA:= TMereni.Create();
> MereniB:= TMereni.Create();
> .....
>
> V C++ mám také vytvoření v OnCreate a překlad je bez chyb, ale běh
> programu skončí s hláškou access violation právě při volání
> constructoru.
> Jen dodám že Mereni mam definováno v části Public ve formuláři
> jako TMereni* Mereni; a vnitřky funkcí jsou zatím prázdné, protože
> jsem se dál nedostal.
>
>
> Nevíte někdo náhodou co by mohlo být blbě? zkoušel jsem hledat ale
> asi se ggla špatně ptám. Používám Delphi 2007 a C++Builder 2007
>
> ... OnCreate...
> ...
> MereniA = new TMereni;
> MereniB = new TMereni;
> .....
>
>
>
> TMereni = class
> constructor create();
> destructor destroy();
> private
> FMereni1 : integer;
> FMereni2 : integer;
> FMereni3 : integer;
> FPrepocet1 : real;
> FPrepocet2 : real;
> FPrepocet3 : real;
> public
> property Mereni1 : integer read FMereni1;
> property Mereni2 : integer read FMereni2;
> property Mereni3 : integer read FMereni3;
> property Prepocet1 : real read FPrepocet1;
> property Prepocet2 : real read FPrepocet2;
> property Prepocet3 : real read FPrepocet3;
> procedure Merime1();
> procedure Merime2();
> procedure Merime3();
> procedure Prepocet();
> end;
>
>
>
> class TMereni
> {
> public:
> TMereni (void);
> ~TMereni (void);
> private:
> int FMereni1;
> int FMereni2;
> int FMereni3;
> float FPrepocet1;
> float FPrepocet2;
> float FPrepocet3;
> public
> __property int Mereni1 = { read=FMereni1};
> __property int Mereni2 = { read=FMereni2};
> __property int Mereni3 = { read=FMereni3};
> __property float Prepocet1 = { read=FPrepocet1};
> __property float Prepocet2 = { read=FPrepocet2};
> __property float Prepocet3 = { read=FPrepocet3};
> void __fastcall Merime1(void);
> void __fastcall Merime2(void);
> void __fastcall Merime3(void);
> void __fastcall Prepocet(void);
> end;
>
>
> Díky za nakopnutí.
> Milan
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160525/1003170e/attachment.html>
Další informace o konferenci Hw-list