StackOverflow bei Mehrfachaufruf eines Links
-
Eigentlich dürfte die Funktion sogar nur einmal durchlaufen werden:
if (i = 70000)ist schon im ersten Durchlauf true...
-
Da haelt der Compiler auch an.
Aber warum ist das gleich beim ersten Durchlauf true??
-
weil Du i die 70000 zuweist (i = 70000) und nicht i mit 70000 vergleichst (i == 70000). Somit ist die Bedingung immer true...
-
Hallo
EStackOverflow = Stackueberlauf
vermutlich dauert dein Aufruf von ShellExecute laenger als
deine ZeitspanneAbhilfe:
zuerst als erstes in deiner Timer1Timer "Timer1->Enabled = false;
in Timer1Timer dann kannst du falls noetig
deinen Time rwieder aktivierenMfG
Klaus
-
*Lacht laut*
Ich danke dir

Doch kommt immernoch der Fehler.
EStackOverflow bei: if (i == 70000)*EDIT Danke Klaus, jetzt geht es, das wird es gewesen sein
*
-
Dann wurde der Timer aber an anderer Stelle wieder aktiviert.
Der gepostete Code deaktiviert den Timer beim ersten Durchlauf...
Grüße Joe_M.
-
Lief trotzdem weiter, bis, wie gesagt, i = 89 war.
*EDIT nun habe ich eine 2. Frage, ich stelle sie mal hier rein:
if (ComboBox1->Text == ComboBox1->Items[0])'operator==' not implemented in type 'AnsiString' for arguments of type 'TStrings'
Wie kriege ich das behoben?
-
if (ComboBox1->Text == ComboBox1->Items->Strings[0])Geht nur so, warum nicht direkt weiß ich auch nicht genau...
Und nextes mal bitte Suchfunktion benutzen... Thema gabs schon oft genug.
-
aaaabyx schrieb:
if (ComboBox1->Text == ComboBox1->Items->Strings[0])Geht nur so, warum nicht direkt weiß ich auch nicht genau...
Weil die Eigenschaft Items einen Zeiger auf ein TStrings-Objekt zurückliefert und nicht auf ein Array von AnsiStrings.
-
Hallo
statt der Version
if (ComboBox1->Text == ComboBox1->Items->Strings[0])einfacher erscheint mir da
if ( ComboBox1->ItemIndex == 0 )besser (verstaendlicher)
MfG
Klaus