Krach programu – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Krach programu – Delphi – Fórum – Programujte.comKrach programu – Delphi – Fórum – Programujte.com

 

oxidián0
Grafoman
23. 5. 2017   #1
-
0
-

 Po ukončení testu se zapisují výsledky do souboru a poté se nastavuje proměnna caption a v ten moment to krachne:

procedure TForm1.ulozit;
var f:textfile;
    uspesnost,uspesnost0,muc,
    nevedel,zapis,jmtestu0,pocetot,pocetot0,datum,
        datum0,jmenouziv0,chyb0,punkt:string;
    i:integer;
begin
{ ZKRÁCENO }
closefile(f);
ulozeno:=true;
{ TADY TO KRACHNE: }
caption:='Učení hebrejštiny a řečtiny';
end;

Obrázek:

http://oi66.tinypic.com/n4hbav.jpg

Nevím co je to za caption, nikde jsem nenašel deklaraci.

Edit: Spíš to "krachuje" během exitu z té funkce ulozit, ale program nespadne. Jak to vyřešit, opravit či odladit?Připojen obrázek.

Nahlásit jako SPAM
IP: 78.102.61.–
peter
~ Anonymní uživatel
4016 příspěvků
23. 5. 2017   #2
-
0
-

S delphi jsem nedelal 10 let.

2) Tipnul bych si, ze to spatne pracuje se souborem. Muzes zkusit vsechny radky, co se tykaji prace se soubory, zakomentovat. Sice to nebude nic delat se soubory, ale aspon to pak muzes vyloucit.

1) Caption by ciste teoreticky mohlo byt window.caption, main.caption, proste promenna hlavniho objektu okna.
Dalsi vec, co bych zkusil zakomentovat.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:eca7:9c...–
MilanL+1
Grafoman
23. 5. 2017   #3
-
0
-

Caption v tomto použití je nadpis Okna/Formuláře. Zkus tam dát self.caption. nebo breakpoint o 1 2 řádky před to a ty řádky mezi krokovat, v jakém kroku ti to vyhodí tu chybu.

Taková drobnost v tom programu je docela guláš, spoustu věcí tam máš dvojmo nebo se opakují na více místech.

Nahlásit jako SPAM
IP: 91.139.9.–
oxidián0
Grafoman
23. 5. 2017   #4
-
0
-

Je v něm guláš protože ten kdo to vytvářel v Delphi nebo v čem tak psal názvy komponentů v češtině a ten program z názvů funkcí apod. zcela vypustil diakritiku místo aby převedl např.  funkce "spnost1Click" .. člověk vůbec z názvu nepozná co dělá co...

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
23. 5. 2017   #5
-
0
-

#4 oxidián
ta chybová hláška ti v podstatě říká, že se snažíš pracovat s nepřístupným objektem. často se objevuje třeba když se snažíš použít objekt který ještě nebyl vytvořen.

Nahlásit jako SPAM
IP: 185.112.167.–
23. 5. 2017   #6
-
0
-

Podle adresy to spíš vypadá, že pracuje se zaniklým objektem. Pokud by nebyl vytvořen, asi by to byl zápis na adresu 0x00000000. Že nedal celý kód, tak můžeme jen hádat.

Název spnost1Click vytvořilo IDE automatickyí. Asi je na formuláři tlačítko spnost1 a tohle je obsuha události Click.

To oxidian: nauč se jeden jazyk pořádně a vtom dělej. Nejdřív prasíš C, teď Delphi.... Vůbec bych se nedivil, kdyby v tom byla nějaká tvoje chaotická prasárna.

hu

Nahlásit jako SPAM
IP: 193.86.81.–
MilanL+1
Grafoman
23. 5. 2017   #7
-
0
-

#6 hlucheucho

myslím že aktualizuje dodělává nějakej převzatej, program navíc to vypadá docela staře nic moc objektový.Spousta kodu by se dala zjednodušit, jak jsem koukal. práci se souborem nemá v Try bloku, desítky proměnejch mimo třídy. apod. prázdné funkce odkazující jen na jinou funkci ...

Jinak já to mám celý v D2010 mi to funguje a dokonce i v Delphi 10.1 Berlin mi to jede, otázka je též situace, kdy tu funkci spouští, je tam vstup z více míst.

Nahlásit jako SPAM
IP: 185.112.167.–
peter
~ Anonymní uživatel
4016 příspěvků
24. 5. 2017   #8
-
0
-

jj, "spnost1Click", to se vytvari obvykle automaticky po doubleclicku na tlacitko pri navrhu formulare, jako udalost 'click' . Takhle nejak by to mohlo vypadat na obrazovce, kdyz si kliknes na ten spravny objekt. Ted si nejsem jisty, zda je jednoduche prepnout se z kodu do modu navrh formulare, ale :) Mam pocit, ze v delphi 3, to bylo easy, ale to uz je hodne let. S nejakou applikaci jsem ted delal pro c++, a tam to bylo dost napikacu. Nekdy bylo treba vychytat, proc to nejde prepnout na navrh formulare a z toho jsem byl dost na nervy a radeji oteviral starsi verzi programu.

objekt Mybutton              |
name       | Mybutton        |
caption    | Moje tlacitko   |                    [Moje tlacitko]
onClick    | MybuttonClick   |
onDblClick |                 |
...
Nahlásit jako SPAM
IP: 2001:718:2601:26c:4dbc:38...–
24. 5. 2017   #9
-
0
-

Jestli si to dobře pamatuju, tak kód, návrh formuláře.... se přepínali snadno kliknutím na záložku v u dolního okraje pracovní části okna IDE. Object Inspector byl tuším v levém dolním rohu, měl dvě záložky: Properties a Events. Tam se dalo každé komponentě z VCL nastavit při návrhu, co bylo třeba. Moje poslední zkušenosti jsou s C++ Builderem XE5 (příbuzný Delphi), používat jsem ho přestal asi před 1,5 rokem.

Neobjektovost jeho kódu může být způsobena i tím, že objektové a událostmi řízené programování není jeho parketa.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
oxidián0
Grafoman
25. 5. 2017   #10
-
0
-

#6 hlucheucho
Ten program krachoval a dělal tenhle problém ještě než jsem k němu přišel.

Nahlásit jako SPAM
IP: 78.102.61.–
oxidián0
Grafoman
25. 5. 2017   #11
-
0
-

#7 MilanL

Spouští se to po dokončení testu. Na konci každého testu se provádí zápis výsledků. Myslím že soubor se jmenuje kdykdots.txt. Obsahuje záznamy podobné tomuto:

 22.5.2017 10  .  13- hc2_lekce 10  92%  1chyb s      


Nahlásit jako SPAM
IP: 78.102.61.–
oxidián0
Grafoman
25. 5. 2017   #12
-
0
-

#9 hlucheucho
Přestaň už konečně mluvit o "jeho kódu". Psala to žena, Kateřina Bubeníčková v roce cca 1999-2001.

Nahlásit jako SPAM
IP: 78.102.61.–
MilanL+1
Grafoman
25. 5. 2017   #13
-
0
-

#12 oxidián
nj tenkrát bylo ještě OOP v plenkách :D

Nahlásit jako SPAM
IP: 185.112.167.–
Kit+15
Guru
25. 5. 2017   #14
-
0
-

#6 hlucheucho

To oxidian: nauč se jeden jazyk pořádně a vtom dělej. Nejdřív prasíš C, teď Delphi.... Vůbec bych se nedivil, kdyby v tom byla nějaká tvoje chaotická prasárna.

Však ho nechej, ať si vyzkouší třeba všechny jazyky. Třeba časem narazí na Lisp, Forth, Go, Haskell či něco podobného a zalíbí se mu to. Také jsem jich vystřídal asi dvacet, než jsem zakotvil u PHP a Bashe.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Podobná vlákna

Krach hned na začátku — založil aristokrat

Úprava programu — založil Ondřej

Chyba v programu — založil choice_

Spuštění programu — založil Kenvelo

Padanie programu v C — založil Erik12345

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý