Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi NMHTTP oder IdHTTP lastet Programm voll aus (https://www.delphipraxis.net/122503-nmhttp-oder-idhttp-lastet-programm-voll-aus.html)

b00gie 17. Okt 2008 06:53


NMHTTP oder IdHTTP lastet Programm voll aus
 
Hallo zusammen,

ich hab da ein kleines Problem mit meiner Anwendung...
...und zwar läuft alles wie folgt ab!
1. Ein NMHTTP postet einen Link und parset die SID raus, danach wird das erste NMHTTP geschlossen!
2. Ein zweites NMHTTP verbindet über GET zu einen Server
3. IdHTTP wird dann verwenden um Daten zu übertragen

Mein Problem: Sobald ich mit dem Programm verbinde, lastet es voll aus, aber nicht im TaskManager. Also quasi so: Wenn du ein Button auf deiner FOrm hast und mit der Maus drüber läufst, dann verändert er ja die Farbe oder so... Und sobald ich mich verbunden habe, ist das nicht mehr der Fall und dadurch wirkt es so, als ob mein Programm nicht mehr reagiert-->tut es aber! Das Selbe gilt auch für die Systemknöpfe (Schließen,Minimieren,Maximieren...)


Weiss da einer von euch Rat?




mfG
Niko^^

SirThornberry 17. Okt 2008 08:12

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
hmm, du wiedersprichst dir ein wenig. Reagiert dein Programm nu noch oder nicht? Was verstehst du unter voll auslasten? Und könntest du uns ein paar Zeilen posten damit wir wissen was du da machst?

gsh 17. Okt 2008 08:58

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
Bau mal ein
Delphi-Quellcode:
Application.ProcessMessages;
im OnWork von deinen Komponenten ein

b00gie 17. Okt 2008 09:16

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
ne das hat leider nicht geholfen.
Also noch einmal genauer...
Das NMHTTP stellt mittels GET eine Verbindung zu einem Server auf. Das ist eine Dauerbindung. Und solange ich diese nicht getrennt habe tritt folgendes Problem auf:

Das Programm arbeitet tadellos und es funktioniert auch alles wunderbar ABER: Es SIEHT so aus ALS OB das Programm komplett ausgelastet wäre. Wenn du jetzt ein XP Button nimmst und mit der Maus drüberfährst, fährbt sich der Rand so orange. Wenn du mit der Maus draufdrückst und gedrückt hälst, ist der Button eingedrückt. Und genau DAS hab ich dann nicht mehr sobald das NMHTTP verbunden ist. Also wenn ich drüber fahre mit der Maus passiert garnix, aber die funktionieren tun die Knöpfe dennoch.

Mal was anderes:
Ich kann ja auch anstelle des NMHTTP ein IdHTTP benutzen, bräuchte dazu aber paar Infos und zwar. Beim NMHTTP kann ich im OnPacketRecvd mit NMHTTP1.Body die ankommenden Daten abfangen. Im Indy wäre das ja soweit ich weiss im OnRedirect, aber mit welcher funktion/variable kann ich die Daten abfangen?

hoika 17. Okt 2008 09:22

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
Hallo,

hast du das mit dem OnWork gemacht ?
Und auch mal nen Breakpoint drauf, dass das Application.ProcessMessages
auch wirklich aufgerufen wird ?

Falls alles nichts hilft -> Thread verwenden.


Heiko

b00gie 17. Okt 2008 09:24

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
@hoika:

1. NMHTTP hat kein OnWork ;)
2. Thread? Ich bin noch nicht so fit.. xD

gsh 17. Okt 2008 11:48

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
Zitat:

Zitat von b00gie
@hoika:

1. NMHTTP hat kein OnWork ;)
2. Thread? Ich bin noch nicht so fit.. xD

dann musst du das application.processmessages; irgenwo einbauen wo du die ganze zeit es immer mal wieder aufrufst.
Sobald du dies nämlich während deiner durchgehenden Verbindung aufrußt bearbeitet er alle fenster nachrichten. Damit färben sich die buttons wieder richtig und die anwendung wird auch wieder richtig gezeichnet

b00gie 21. Okt 2008 07:08

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
okay, also ich hab nen Timer auf der Form, wäre das dort angebracht?

b00gie 22. Okt 2008 06:55

Re: NMHTTP oder IdHTTP lastet Programm voll aus
 
geht dennoch nicht^^
ABer sagt mir doch bitte wie ich die Daten einer Indy Komponente abfange. also bei FastNet ist das ja mit NMHTTP1.Body und bei Indy IdHTTP1.????


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz