AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?
Thema durchsuchen
Ansicht
Themen-Optionen

Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

Ein Thema von Luckie · begonnen am 2. Mai 2005 · letzter Beitrag vom 3. Jun 2005
Antwort Antwort
Seite 11 von 14   « Erste     91011 1213     Letzte »    
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#101

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 15:19
hab kein vmware da und kanns somit auf XP SP 1 net testen aber warum debuggst nicht einfach mal und machst nen breakpoint auf setlast error dann siehste ja vielleicht welche APIs noch alle aufgerufen werden bzw wonach genau geprüft wird das es nen falsches fenster ist
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#102

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 15:22
Vorschlag zur Fehlersuche...

Unter einem funktionierendem System (zB SP2) die nicht funktionierende Version (zB SP1) der shlwapi.dll ins Anwendungsverzeichnis kopieren und eine leere Datei namens Project1.exe.local anlegen (so wird erzwungen, dass die lokale DLL verwendet wird).
Das gleiche könnte man auch umgekehrt testen.

Zumindest könnte man dann das Problem auf die shlwapi.dll eingrenzen (oder eben nicht).

ps: ich vermute ja still und heimlich, dass es an irgendeiner Kleinigkeit liegt (Manifest, Ressource-IDs...)
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#103

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 15:23
Zitat von brechi:
hab kein vmware da und kanns somit auf XP SP 1 net testen aber warum debuggst nicht einfach mal und machst nen breakpoint auf setlast error dann siehste ja vielleicht welche APIs noch alle aufgerufen werden bzw wonach genau geprüft wird das es nen falsches fenster ist
Ist ein guter Tip. Werde ich machen. Bisher bin ich eben langwierig durchmarschiert (neben dem statischen Reversen). Aber das wird frühestens heute nacht oder morgen. Hatte ich weiter oben schon erwähnt.
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#104

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 15:28
Zitat von NicoDE:
Vorschlag zur Fehlersuche...

Unter einem funktionierendem System (zB SP2) die nicht funktionierende Version (zB SP1) der shlwapi.dll ins Anwendungsverzeichnis kopieren und eine leere Datei namens Project1.exe.local anlegen (so wird erzwungen, dass die lokale DLL verwendet wird).
Das gleiche könnte man auch umgekehrt testen.

Zumindest könnte man dann das Problem auf die shlwapi.dll eingrenzen (oder eben nicht).

ps: ich vermute ja still und heimlich, dass es an irgendeiner Kleinigkeit liegt (Manifest, Ressource-IDs...)
Wenn ich das mit der DLL 2180 von SP2 mache, kommt Fehler 126. Wenn ich es mit DLL 2627 mache, kommt der gleiche Fehler. Habe jetzt keine Zeit die Bedeutung rauszusuchen usw. - muß weg. Bis später. Vielleicht bringt die Info ja was.

Achso, das waren die SP2-DLLs von MathiasSimmack auf meinem SP1 System mit den Symptomen von OPA.
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#105

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 15:30
wäre mal nett wenn einer die dll die den fehler verursacht upped
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#106

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 15:33
Zitat von Mephistopheles:
Habe jetzt keine Zeit die Bedeutung rauszusuchen usw.
"The specified module could not be found.", fragt sich nur welches Module
  Mit Zitat antworten Zitat
Johnny_W

Registriert seit: 27. Apr 2005
33 Beiträge
 
Delphi 2005 Personal
 
#107

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 16:35
Hiho,

kernel32.dll mit ins Verzeichnis legen.

MfG
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#108

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 16:40
ich glaube kaum das man das braucht
  Mit Zitat antworten Zitat
Blutiger Anfänger
(Gast)

n/a Beiträge
 
#109

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 18:11
Hallo,

da bin ich wieder,
das geht ja hier heiss her, gut das wir noch nicht aufeinander schiessen koennen.

Habe inzwischen alle Dateien und Programme im Verz. Win..\system32
mit find /... auf den Eintrag shm... untersucht, (alle bisher angesprochenen Konfigurationen)!
Danach auf Message ,etc.!

Bei keiner Konfiguration wurde eine Datei mit dem Inhalt SHM.. zurueckgegeben!
Bei MessageBox sieht es da schon besser aus, allerdings waeren das eine Menge Dateien,
hauptsaechlich DLL's,
die man auf Abhaengigkeit untersuchen muesste, werde den ganzen Kram nur noch sortieren und herausfiltern ,um es uebersichtlich zu gestalten!
Wenn jemand meint, dass das helfen kann , werde ich diese Info dann anhaengen, (sobald alles sortiert ist)!

@NicoDe: Klasse Vorschlag, aber wie schon mehrfach erwaehnt, Seite 2 (ich glaube Beitrag 7,8 ), bereis geschehen, Zusammenfassung, noch einmal Seite 4, drittletzter Beitrag.
Damit war klar, dass es nicht an der Version der benutzten shlwapi.dll liegt,
sondern daran, wo und wie der Wert uebergeben wird!


@Marabu: Alles wurde bei mir,auf neu installierten Systemen durchgefuehrt,immer einwandfreie Funktion, bis auf die Konfiguration miT XP SP1 !
Vielleicht kennst Du ja den Weg, oder die Richtung, die zwischen Aufruf und Ausgabe liegt,
dann waere eine Info nett !
Ansonsten glaube ich, dass es mehr als schwierig ist, dieses "Problem *1",
an Hand von Quelltexten zu analysieren, um die bestehenden Abhaengigkeiten zu finden!!

*1.
Es ist nicht wirklich ein Problem, weil es ja unter allen anderen Konfigurationen laeuft,
nur inetressiert es einige von uns, (einschliesslich meiner Wenigkeit), warum dies so ist !

Gruss Opa!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#110

Re: Wo ist oder wie heißt die Funktion: SHMessageBoxCheck?

  Alt 6. Mai 2005, 18:20
Zitat von Mephistopheles:
Die Konventionen nach denen die Win32-API funktioniert.
Wir lesen alle die selbe Dokumentation, aber wir interpretieren sie unterschiedlich. SHLWAPI ist eine DLL, die eng an den Internet-Explorer gebunden ist. Wer XP SP1 betreibt und nicht auf SP2 upgraden will, der kann immer noch seinen IE auf die aktuelle Version heben. Das erhöht die Systemsicherheit und wer weiß, vielleicht wird ja dann auch der Dialog korrekt angezeigt.

Vielleicht ist ja unter SP1 ein Bug in der Implementierung? Der dürfte dann nur den wenigsten aufgefallen sein, da die DLL fast ausschließlich von IE, Outlook und Frontpage verwendet wird. Irgendwann wird jemand mit Disassembler oder ICE die Fehlerstelle lokalisieren - und dann stellt sich das ganze als Vergangenheitsbewältigung heraus, da MS mittlerweile auf SP2 setzt. Das ist der Grund warum ich den Verdacht geäussert habe, es handele sich um einen Hacker-Wettstreit.

Zu meinen Versuchen: auch auf meiner Maschine (XP SP2, alle Patches) liefert GetLastError den Code 1400, mit allen DLL Versionen - 6.0.2800.1106 bis 6.0.2900.2627 - und das obwohl der Dialog spezifikationsgemäß arbeitet. Den Fehlercode kann ich also vor dem Hintergrund meiner Tests nicht als Hinweis darauf verstehen, dass der Dialog bei XP1 nicht funktioniert.

Er ist für mich lediglich ein Hinweis darauf, dass MS bei einem der internen Aufrufe geschludert hat. Würde GetLastError SUCCESS melden, so darf daraus ja auch nicht geschlossen werden, dass in der Folge der intern verwendeten API calls jeder einzelne erfolgreich war. Wenn ich in meinen Programmen nach einer lokalen Steuerdatei suche und bei deren Fehlen dann doch die globale verwende, dann ist auch ein Fehler aufgetreten, der aber nach außen hin nicht als solcher in Erscheinung tritt.

Zitat von Mephistopheles:
Ich weiß zumindest mit Bestimmtheit, daß der Fehler während des Aufrufes auftrat. Nicht zwangsläufig innerhalb dieser Funktion - ggf. auch in einer Unterfunktion, die von der fraglichen Funktion aufgerufen wird. Das steht außer Frage.
Niemand bestreitet das.

Zitat von Mephistopheles:
Damit du dich hier nicht veräppelt fühlst, hänge ich auch noch einen Screenshot ran (dort kannst du die Version von XP sehen, die Konsolenausgabe und die Zeit). Ich kann mir schon vorstellen, daß es dir genauso unglaublich erscheint wie uns anderen auch.
Ich hätte dir auch so geglaubt.

Noch eine Idee: Hast du es schon mal mit dem Application Profiler probiert? Der angehängte Trace ist mit SHLWAPI Version 6.0.2800.1106 gemacht. Da passiert wirklich nichts Weltbewegendes bei Aufruf der vermaledeiten SHMessageBoxCheck().

marabu

Funktionsbezeichner korrigiert
Angehängte Dateien
Dateityp: zip contest_142.zip (923 Bytes, 11x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 11 von 14   « Erste     91011 1213     Letzte »    


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 21:22 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