AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WM_SETTEXT speichern geht nicht

Ein Thema von msickel · begonnen am 4. Jan 2008 · letzter Beitrag vom 19. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
msickel

Registriert seit: 14. Mai 2005
108 Beiträge
 
Delphi 2005 Professional
 
#1

WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 15:51
Hallo, ich sitze schon seit einiger Zeitttttttttt........... an einem Problem und bekomme es nicht gelöst,
ich versuche mal das ganze zu umschreiben.

Also, ich habe einen Telefonmonitor der es mir erlaubt bei einem bestehenden Anruf einen Text in ein Textfeld einzugeben der dann zu dem Anruf in einer Datenbank
mit gespeichert wird.

Nun habe ich ein kleines Popup geschrieben welches bei einem Anruf in einer Datenbank nach der Telefonnummer sucht und die Daten (Geburtstag usw..) per WM_SETTEXT in das Feld des Telefonmonitors kopiert.

Delphi-Quellcode:

  wnd := FindWindow('ThunderRT6Form', 'Gesprächsmonitor - Vertical TeleVantage ViewPoint');
  wndTV := wnd;
  wnd := FindWindowEx(wnd, 0, 'ABSDynaBarCls', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBox', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := GetWindow(Wnd, GW_HWNDNEXT);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := GetWindow(Wnd, GW_HWNDNEXT);
  wnd := GetWindow(Wnd, GW_HWNDNEXT);
  wnd := FindWindowEx(wnd, 0, 'ABSDynaBarCls', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBox', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6TextBox', nil);

  if wnd <> 0 then
  begin
    SendMessage(wnd, WM_SETTEXT, 0, LPARAM(PChar(frmInfo.Memo1.Text)));

    // SendMessage(wnd, WM_LBUTTONUP,0,0);
    // SendMessage(wnd, VK_RETURN,0,0);
    // sleep(100);
    // SendMessage(wnd, WM_KEYDOWN, VkKeyScan('1'), 0);
    // SendMessage(wnd, WM_CHAR, VkKeyScan('1'), 0);
    // SendMessage(wnd, WM_KEYUP, VkKeyScan('1'), 0);
 end;
soweit funktioniert das auch alles.

Das Problem ist nun wenn der Text in das Textfeld des Telefonmonitors via WM_SETTEXT plaziert wurde und der Anruf beendet wir,
wird der Text nicht mit abgespeichert.

Schreibe ich aber noch Text von Hand dazu geht das problemlos.

Wir Ihr seht habe ich schon mit diversen SendMessages versucht noch eine Tastatureingabe zu simulieren was das Feld auch schön mitmacht, aber leider wird troz allem nicht gespeichert. Erst wenn ich von Hand was dazutippe geht das speichern.

Hat jemand vielleicht noch einen Tip woran es liegen könnte ?

Bin für jede Hilfe dankbar.

Gruss Martin
ich weiss, das ich nichts weiss!
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 16:07
Wahrscheinlich weil das Programm wo du den Text einfügst erst speichert nachdem das OnChange-Ereignis des Edits aufgerufen wurde.
kp...gibts da ne Nachricht für ?!?
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 16:15
vllt speichert das programm auch gar nicht den text des edits, sondern hat dafür noch intern eine variable, aus der es dann die daten ausliest, und quasi das edit nur als "anzeige" benutzt wird..

mfg
Martin
  Mit Zitat antworten Zitat
msickel

Registriert seit: 14. Mai 2005
108 Beiträge
 
Delphi 2005 Professional
 
#4

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 16:19
Zitat von lbccaleb:
vllt speichert das programm auch gar nicht den text des edits, sondern hat dafür noch intern eine variable, aus der es dann die daten ausliest, und quasi das edit nur als "anzeige" benutzt wird..

mfg

wie kann ich das rausfinden ?

mfg
Martin
ich weiss, das ich nichts weiss!
  Mit Zitat antworten Zitat
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#5

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 16:44
Also ich habe das mal hier 'nachprogrammiert' und bei mir tut das. (So aehnlich).
Zumindest bekommt das 'Zielprogramm' auch einen ChangeEvent, wenn ich Text in die Editbox baller.

Hast Du das Zielprogramm, an das der Text gesendet wird, selbst geschrieben - oder ist das nur ein Binary, das Du benutzt?

Will heissen, kannst Du an dem Proggie was umbauen?
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 18:35
bei dem Quelltext fällt mir als erstes auf das nie geprüft wird ob FindWindowEx oder FindWindow Erfolgreich war. Gibt eine der beiden Funktionen 0 zurück wird dies stur an die nächste übergeben und so weiter.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#7

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 19:23
Hi Sir,
Zitat von SirThornberry:
bei dem Quelltext fällt mir als erstes auf das nie geprüft wird ob FindWindowEx oder FindWindow Erfolgreich war. Gibt eine der beiden Funktionen 0 zurück wird dies stur an die nächste übergeben und so weiter.
Das ist mir zwar auch aufgefallen, aber er schreibt ja, dass der Text ankommt und richtig weiterverarbeitet wird, wenn er von Hand noch ein Leerzeichen dranhaengt.

Aus Codersicht hast Du Recht. Hat aber wohl nix mit dem Fehler zu tun.
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
msickel

Registriert seit: 14. Mai 2005
108 Beiträge
 
Delphi 2005 Professional
 
#8

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 20:25
Zitat von mashutu:
Also ich habe das mal hier 'nachprogrammiert' und bei mir tut das. (So aehnlich).
Zumindest bekommt das 'Zielprogramm' auch einen ChangeEvent, wenn ich Text in die Editbox baller.

Hast Du das Zielprogramm, an das der Text gesendet wird, selbst geschrieben - oder ist das nur ein Binary, das Du benutzt?

Will heissen, kannst Du an dem Proggie was umbauen?
kann leider nichts umbauen ist nur ein Binary!

Martin
ich weiss, das ich nichts weiss!
  Mit Zitat antworten Zitat
msickel

Registriert seit: 14. Mai 2005
108 Beiträge
 
Delphi 2005 Professional
 
#9

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 20:27
Zitat von SirThornberry:
bei dem Quelltext fällt mir als erstes auf das nie geprüft wird ob FindWindowEx oder FindWindow Erfolgreich war. Gibt eine der beiden Funktionen 0 zurück wird dies stur an die nächste übergeben und so weiter.

da hast Du schon recht, aber ich habe per Debugging geprüft ob die Handles stimmen und das tun Sie auch, sonst würde ja der Text den ich sende gar nicht ankommen. Die Prüfung mit entsprechenden Fehlerhinweisen kommt später noch dazu

Martin
ich weiss, das ich nichts weiss!
  Mit Zitat antworten Zitat
msickel

Registriert seit: 14. Mai 2005
108 Beiträge
 
Delphi 2005 Professional
 
#10

Re: WM_SETTEXT speichern geht nicht

  Alt 4. Jan 2008, 20:29
was ist den der große Unterschied wenn ich die Funktin WM_SETTEXT benutze oder manuell den Text per Tastatur in das Textfeld schreibe?

Martin
ich weiss, das ich nichts weiss!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 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