[gelöst] Q_ASSERT und connect

Alles rund um die Programmierung mit Qt
Antworten
bobcat
Beiträge: 125
Registriert: 21. April 2010 14:51

[gelöst] Q_ASSERT und connect

Beitrag von bobcat » 6. März 2019 11:40

Ich habe einen connect mit einem Q_ASSERT eingepackt:

Code: Alles auswählen

Q_ASSERT(connect(...);

Das schlägt fehl, es wurde keine Verbindung zwischen Signal und Slot aufgebaut. Wenn ich das Q_ASSERT weglasse, dann klappt der connect. Bzw. man macht korrekterweise folgendes:

Code: Alles auswählen

bool success = connect(...);
Q_ASSERT(success)
Ich habe hier den Hinweis gefunden, dass Q_ASSERT mit connect keine gute Idee ist:
https://www.kdab.com/slot-not-invoked/
Mein Code läuft jetzt; mich würde nur interessieren warum. Versteht das jemand?
Zuletzt geändert von bobcat am 6. März 2019 16:37, insgesamt 1-mal geändert.

hilefoks
Beiträge: 141
Registriert: 13. März 2008 17:09

Re: Q_ASSERT und connect

Beitrag von hilefoks » 6. März 2019 14:16

Moin,

im Release-Build wird das gesamte Q_ASSERT nicht ausgeführt - praktisch existiert der Ausdruck dann nicht in deinem Programm.

MfG
Hilefoks

Antworten