Έγραψα ένα λογισμικό παρακολούθησης κυκλοφορίας που θέλω ο υπολογιστής να λειτουργεί μόνο μία φορά και ο κώδικας είναι ο εξής:
Βρείτε, αμέσως, κάντε κλικ στο λογισμικό, θα σας ζητηθεί "Μια παρουσία έχει εκτελεστεί", αλλά,Αφού περιμένετε 30 δευτερόλεπτα, κάντε κλικ στο λογισμικό και εκτελείται ξανά με επιτυχίαΜια φορά !!
Είναι κρίμα.Ο παραπάνω κώδικας είναι εντάξει στη λειτουργία DEBUG, αλλά δεν λειτουργεί στο RELEASE. Το πρόβλημα είναι ότι το Mutex δηλώνεται ως τοπική μεταβλητή και σε λειτουργία relese λόγω προβλημάτων βελτιστοποίησης, πιθανώς επειδή ο μεταγλωττιστής πιστεύει ότι το Mutex δεν χρησιμοποιείται πλέον
χρησιμοποιημένο, ανακυκλωμένο, δοκιμασμένο από εμένα,
Βάλτε το Mutex από πάνω και ορίστε το ως στατική μεταβλητή σε !!ΔεξιάΟ κωδικός έχει ως εξής:
|