Zum Inhalt springen

Funktion zum schreiben in ein html formular


Empfohlene Beiträge

hallo zusammen,

ich bin dabei mir eine art iexplorer zu schreiben

mit dem ich geladene html formulare forbelegen kann hiertu habe ich mir folgende funktion geschrieben (bzw. ein funktion die ähnliches leistet angepasst).

void TMDIChild::schreibhtm(AnsiString in, AnsiString feld)

{

IHTMLDocument2 *HTMLDoc = NULL;

if(SUCCEEDED(AufgabenObjekt->Document->QueryInterface(IID_IHTMLDocument2,(LPVOID*)&HTMLDoc)))

{

IHTMLElementCollection *pAll = NULL;

if(SUCCEEDED(HTMLDoc->get_all(&pAll)))

{

TVariant name = feld; // hier kommt der name des Feldes hin (siehr HTML source)

IDispatch *pDisp = NULL;

TVariant index=0;

if(SUCCEEDED(pAll->item(name, index, &pDisp)))

{

if(pDisp)

{

IHTMLInputElement *pInput = NULL; // mshtml.h

pDisp->QueryInterface(IID_IHTMLInputElement, (LPVOID*)&pInput);

pDisp->Release();

if(pInput)

{

//WideString mybuffer;

//pInput->(WideString("Hallo")); //hier der String, der zu schreiben ist.

pInput->put_value(WideString(in));

}

pInput->Release();

}

}

}

pAll->Release();

}

HTMLDoc->Release();

}

das problem besteht darin das die funktion nur jedes 2. mal ihren dienst tut :confused:

d.h. sie trägt mal was ein mal nicht

realiesieren wollte ich das mit BCBuilder.

hat einer von euch ne idee was ich falsch mache?

schon mal danke im vorraus

gruß LoneWolf

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hast du den Debugger benutzt, um zu prüfen, ob das Programm auch wie erwartet in die if-Blöcke springt?

Falls nicht, welches if schlägt fehl?

Oder wird die Funktion vielleicht nur jedes zweite Mal überhaupt aufgerufen?

Ist es genau jedes zweite Mal (also immer abwechselnd), oder ist das eine Schätzung?

Das sind alles Informationen, die du liefern musst, bevor dir jemand sinnvoll helfen kann. Einfach nur den Code hinzuklatschen, noch dazu ohne Code-Tags, bringt bei logischen Fehlern nicht viel.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hast du den Debugger benutzt, um zu prüfen, ob das Programm auch wie erwartet in die if-Blöcke springt?

Falls nicht, welches if schlägt fehl?

Oder wird die Funktion vielleicht nur jedes zweite Mal überhaupt aufgerufen?

Ist es genau jedes zweite Mal (also immer abwechselnd), oder ist das eine Schätzung?

Das sind alles Informationen, die du liefern musst, bevor dir jemand sinnvoll helfen kann. Einfach nur den Code hinzuklatschen, noch dazu ohne Code-Tags, bringt bei logischen Fehlern nicht viel.

achso ok dachte das was ich oben geschrieben hätte würde ausreichen.

Das Problem ist er geht jedes mal korekt in die IF blöcke und es hat auch den anschein das er jedesmal etwas rein schreiben würde. Das tut er jedoch nur jedes 2. mal.

Link zu diesem Kommentar
Auf anderen Seiten teilen

achso ok dachte das was ich oben geschrieben hätte würde ausreichen.
Je detaillierter die Informationen sind, die du lieferst, desto besser kann man dir helfen.

Das tut er jedoch nur jedes 2. mal.

Siehe mein letzter Beitrag: Was meinst du damit? Ist das eine Schätzung? Ist es abwechselnd? Falls abwechselnd, klappt es beim ersten oder beim zweiten Mal? Hängt das Verhalten vom Feld oder vom Inputtyp ab?

Was ist mit dem Rückgabewert von put_value? Ist der in Ordnung?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi also ich habe das problem nochmal genauer unter die lupe genommen

die funktion

pInput->put_value(WideString(in));

hat soweit ich weis keine rückgabe

und aus irgendeinem grund (den ich leider nicht kenne) schreibt sie beim 1. mal was rein beim 2. mal nichs usw...

leider habe ich garkeine idee woran das liegen kann :(

schon mal danke im voraus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...