Autor Beitrag
gamer94
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win7 HP, WinXP
Delphi 7 Pers.
BeitragVerfasst: Di 25.03.08 12:31 
Ich weiß, dass diese und ähnliche Fragen schon diskutiert wurden, aber bei allen antworten und Tipps hatte ich Probleme. Ich hab nämlich noch gar nicht mit dem auslesen von Daten aus anderen Programmen gearbeitet, deswegen brauche ich dringend Hilfe.

Zum Problem:
Ich habe ein Programm mit Logfenster. Dieses möchte ich auslesen. Mithilfe von Luckies Code (Klick) kann man ja den Inhalt aus Notepad auslesen. Wenn ich allerdings den Code für mein Programm anpasse, bekomme ich immer Fehlermeldungen :(
Hier der Code:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
procedure TForm1.Button1Click(Sender: TObject);
var
  hRichEdit, hHandleDesFensters : HWND;
  Text : pchar;
  len: Integer;
begin
  SetLastError(0);
  hHandleDesFensters := FindWindow(nil'MP Lounge 2');
  if hHandleDesfensters <> 0 then
  begin
    hRichEdit:= FindWindowEx(hHandleDesFensters, 0'RichEdit20A'nil);
    if hRichEdit <> 0 then
    begin
      len := SendMessage(hRichEdit, WM_GETTEXTLENGTH, 00);
      GetMem(Text, len+1);
      try
        try
          SendMessage(hRichEdit, WM_GETTEXT, len+1, Integer(@Text[0]));
          ShowMessage(String(Text));
        except
          on E: EOutOfMemory do Messagebox(Handle, PChar(E.Message), 'Fehler', MB_ICONSTOP); 
        end;
      finally 
        FreeMem(Text, len+1);
      end
    end
    else
      Messagebox(Handle, PChar(SysErrorMessage(GetLastError)), 'Fehler', MB_ICONSTOP);
  end 
  else 
    Messagebox(Handle, PChar(SysErrorMessage(GetLastError)), 'Fehler', MB_ICONSTOP);
end;


Die Fehlermeldungen lauten meist:
"Der Vorgang wurde erfolgreich beendet"

Notepad und Wordpad kann ich auslesen. Da gibt es kein Problem. Wäre nett, wenn ihr mir helfen könntet.
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Di 25.03.08 16:32 
Bist du schonmal mit dem Debugger drüber gelaufen? Setze mal vor diesem Code einen Anhaltepunkt (Klick auf's Gutter):

ausblenden Delphi-Quelltext
1:
len := SendMessage(hRichEdit, WM_GETTEXTLENGTH, 00);					


==> wiki.delphigl.com/in...p/Tutorial_Debugging
gamer94 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win7 HP, WinXP
Delphi 7 Pers.
BeitragVerfasst: Di 25.03.08 18:13 
Ich hab mal in die Zeile einen Haltepunk gesetzt und es gab trotzdem eine Fehlermeldung.
In der Zeile darüber (
ausblenden Delphi-Quelltext
1:
begin					
) ernte ich auch eine Fehlermeldung.
Noch eine Zeile darüber(
ausblenden Delphi-Quelltext
1:
hRichEdit:= FindWindowEx(hHandleDesFensters, 0'RichEdit20A'nil)					

) gibt es keine Fehlermeldung.