Leite33 Δημοσ. 11 Δεκεμβρίου 2008 Δημοσ. 11 Δεκεμβρίου 2008 Καλημέρα Θέλω να ρωτήσω... Στη C++ εκτος απο τους παρακα΄τω τρόπους υπάρχει κάποιος άλλος να τερματίσω μια εφαρμογή; ->Application->Terminate(); ->TerminateProcess(GetCurrentProcess(), 0); ->Form1->Close(); Ευχαριστω
fromaz Δημοσ. 11 Δεκεμβρίου 2008 Δημοσ. 11 Δεκεμβρίου 2008 Κανένας από τους τρόπους που αναφέρεις δεν είναι C++. Ο πρώτος και ο τρίτος είναι Builder/VCL, ο δεύτερος WIN32 API. Στη C/C++ έχουμε την exit (normal termination) και την abort (abnormal termination - χρησιμοποιείται από την assert). Σε περιβάλλον C++ Builder ή/και Windows, έχουμε καμιά 10αριά, εξαρτάται από το τι ακριβώς ζητάς.
kathas Δημοσ. 11 Δεκεμβρίου 2008 Δημοσ. 11 Δεκεμβρίου 2008 επίσης για να προσθέσω το προφανές μπορείς να κάνεις και return απο την main()
GrandGamer Δημοσ. 11 Δεκεμβρίου 2008 Δημοσ. 11 Δεκεμβρίου 2008 Ναι ο πιο απλός τρόπος είναι ένα return. Μπορείς να χρησιμοποιήσεις την exit, η οποία αν δεν κάνω λάθος πέρνει και το 0 σαν παράμετρο; Ας το επιβεβαιώσει κάποιος να σιγουρευτούμε.
kathas Δημοσ. 11 Δεκεμβρίου 2008 Δημοσ. 11 Δεκεμβρίου 2008 return και exit είναι για φυσιολογική εξοδο από το προγραμμα με το αντίστοιχο κωδικό επιστροφής η abort από την άλλη κανει raise και ένα signal που δείχνει abnormal program termuination ( δεν θυμάμαι ποιο ). Y.Γ.: η exit παιρνει int σαν παράμετρο ( δηλαδή και το 0 )
GrandGamer Δημοσ. 11 Δεκεμβρίου 2008 Δημοσ. 11 Δεκεμβρίου 2008 Ναι αυτό εννούσα απλά αν δεν κάνω λάθος βάζουμε το 0 όταν το πρόγραμμα τερματίζετε φυσιολόγικά και κάτι άλλο όταν τερματίζετε πρόωρα.
Leite33 Δημοσ. 12 Δεκεμβρίου 2008 Μέλος Δημοσ. 12 Δεκεμβρίου 2008 Ναι συγνωμη έχετε δικιο.. Σε περιβαλλον C Builder ζητάω.. Σε απλές εφαρμογές που τρέχουν σε windows
Directx Δημοσ. 12 Δεκεμβρίου 2008 Δημοσ. 12 Δεκεμβρίου 2008 Είτε θα χρησιμοποιήσεις την Close της κεντρικής φόρμας σου, είτε θα χρησιμοποιήσεις την TApplication->Terminate, αυτοί είναι οι δυο νόμιμοι τρόποι τερματισμού. Από εκεί και πέρα ακολουθούν οι τρόποι του WinAPI και των standard C libraries, οι τρόποι αυτοί όμως δεν κλείνουν οπωσδήποτε πετυχημένα την εφαρμογή (αποδέσμευση μνήμης, κλήση των TForm destructors & OnClose events κτλ) οπότε καλό είναι να τους αποφεύγεις όταν δουλεύεις με την VCL. Υ.Γ. Αν δεν σε καλύπτουν τα Terminate και Close της VCL, τότε υποπτεύομαι ότι η εφαρμογή σου έχει σχεδιαστικό σφάλμα και καλό είναι να την αναθεωρήσεις.
Leite33 Δημοσ. 13 Δεκεμβρίου 2008 Μέλος Δημοσ. 13 Δεκεμβρίου 2008 Γεια σου Directx.. Οχι δεν έχει σφάλμα απλώς ήθελα να δω αν υπάρχουν άλλοι τρόποι θεωρητικά και πρακτικα.. Ευχαριστώ Νομίζω καλύφθηκα
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.