AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit der Manifest-Geschichte

Ein Thema von delphinia · begonnen am 25. Mär 2006 · letzter Beitrag vom 25. Mär 2006
Antwort Antwort
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#1

Problem mit der Manifest-Geschichte

  Alt 25. Mär 2006, 18:32
Moin

habe in meinem Programm eine ListView - eingestellt auf Report nun kommt es mit der Manifest-Geschichte zu Problemen
sobald ich mit der Maus die Column berühre


Dann erhalte ich dieses CPU Fenster siehe Bild 1 und das Programm wird gestoppt!

Bild 2 zeigt worauf ich genau kommen muss mit der Maus damit es zum Fehler kommt!


ps.: wenn ich das Programm ausserhalb von Delphi laufen lasse gibt es keine probleme doer Fehlermeldungen!
Dennoch nervt es zu entwicklungszeit!
Miniaturansicht angehängter Grafiken
error_150.gif   cpu_fenster_201.jpg  
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Problem mit der Manifest-Geschichte

  Alt 25. Mär 2006, 18:34
Hi,

http://www.delphipraxis.net/internal...ht=patch+ntdll
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Problem mit der Manifest-Geschichte

  Alt 25. Mär 2006, 18:36
danke dür die schnelle Hilfe!
Nur verstehe ich das nicht und weis auch nicht wie ich das einbinden muss?!
Muss das in die OnCreate oder?
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Problem mit der Manifest-Geschichte

  Alt 25. Mär 2006, 18:42
Du fügst die Procedure "PatchInt3" einfach in deine Unit der Mainform ein.

Und dann schreibst du ganz unten, vor dem end. noch das hin:

Delphi-Quellcode:
initialization

// nur wenn ein Debugger vorhanden, den Patch ausführen
if DebugHook<>0 then
   PatchINT3;
Sieht nachher also so aus:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Hier steht noch dein anderer Code :)

procedure PatchINT3;
var
  NOP : Byte;
  NTDLL: THandle;
  BytesWritten: DWORD;
  Address: Pointer;
begin
  if Win32Platform <> VER_PLATFORM_WIN32_NT then Exit;
  NTDLL := GetModuleHandle('NTDLL.DLL');
  if NTDLL = 0 then Exit;
  Address := GetProcAddress(NTDLL, 'DbgBreakPoint');
  if Address = nil then Exit;
  try
    if Char(Address^) <> #$CC then Exit;

    NOP := $90;
    if WriteProcessMemory(GetCurrentProcess, Address, @NOP, 1, BytesWritten) and
      (BytesWritten = 1) then
      FlushInstructionCache(GetCurrentProcess, Address, 1);
  except
    //Do not panic if you see an EAccessViolation here, it is perfectly harmless!
    on EAccessViolation do ;
    else raise;
  end;
end;

initialization

// nur wenn ein Debugger vorhanden, den Patch ausführen
if DebugHook<>0 then
   PatchINT3;

end.
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Problem mit der Manifest-Geschichte

  Alt 25. Mär 2006, 18:51
Danke - super hilfe - super Erklärung..... einfach top danke und ein schönes ruhiges Wochenende
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Problem mit der Manifest-Geschichte

  Alt 25. Mär 2006, 18:55
Bitte
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Problem mit der Manifest-Geschichte

  Alt 25. Mär 2006, 19:21
@delphinia
Vergiss bitte nicht deine offene Frage noch als beantwortet z markieren.

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:38 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