Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Shellexecute AmdX2 problem ? (https://www.delphipraxis.net/78688-shellexecute-amdx2-problem.html)

th_bone 9. Okt 2006 13:43


Shellexecute AmdX2 problem ?
 
Hi,

seit kurzem habe ich ein Problem auf allen PCs mit Amd X2 (dual core konnte ich nicht testen)

ich starte ein Javaprogramm mittels eines links der auf dem Desktop angezeigt wird (hat bisher auch mit X2s gefunzt)

Delphi-Quellcode:

ShellExecute(Application.Handle, 'open' , PChar('progname') , nil, PChar('programmpfad'), sw_ShowNormal);
ich kann das Problem nur insoweit eingrenzen das es erst so ab dem letzten Sicherheitsupdate von MS auftritt

aber wie gesagt nur auf den X2s - auf verschieden 1CPU Rechnern geht es ohne probleme -

Ich habe auch schon versucht das programm mit

SetProcessAffinityMask(GetCurrentProcess, 1);

auf eine CPU festzulegen was in der Vergangenheit öfters solche probleme gelöst hat.

Bin im moment einfach ratlos wo das problem stecken könnte - Pfade/namen etc. stimmen alle

Danke

Ralf

P.S. der Rückgabewert von Shellexecute ist 42 (und damit identisch mit dem der 1CPU PCs wo es ohne Probleme funktioniert)

supermuckl 9. Okt 2006 14:48

Re: Shellexecute AmdX2 problem ?
 
und was ist jetzt das problem?

th_bone 9. Okt 2006 16:25

Re: Shellexecute AmdX2 problem ?
 
shellexecute funktioniert nicht mehr auf den AMD 3800 X2 Rechnern... aber dieselbe exe funktioniert auf 1CPU Rechnern

und natürlich soll es auch auf den X2s laufen ...

Delphi-Quellcode:

ShellExecute(Application.Handle, 'open' , PChar('progname') , nil, PChar('programmpfad'), sw_ShowNormal);

th_bone 10. Okt 2006 16:49

Re: Shellexecute AmdX2 problem ?
 
Hi,

das Problem lies sich nur durch eine Krücke lösen...

statt shellexecute verwende ich zum Aufruf des links Tastaturcodes mit Sendkey

Delphi-Quellcode:
SendKeys('^{ESC 1}', true); delay(30);
Sendkeys('u', true); delay(30);
Sendkeys(pchar('linkname_mit_pfad'), false); delay(30);
Sendkeys('{ENTER}', false);
so funktioniert der Aufruf des Java links auch wieder auf den X2's

(wobei ich immer noch nicht weiss wieso shellexecute nicht mehr funktioniert)

Tschö

Ralf

Daniel 10. Okt 2006 16:51

Re: Shellexecute AmdX2 problem ?
 
Hast Du mal ein Mini-Beispielprogramm für mich? Ich würde das gerne mal auf meiner DualCore-CPU testen.

th_bone 10. Okt 2006 18:03

Re: Shellexecute AmdX2 problem ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anbei eine Demo..

ich muß aber nochmal dazu sagen, dass es bis zum letzten Patch Day von MS problemlos auch auf
den X2s funktioniert hat.

mein WinXP home ist also auf dem wörtlich "allerletzen" patchstand

Tschüss

Ralf

TKC 10. Okt 2006 18:49

Re: Shellexecute AmdX2 problem ?
 
Hi,

seltsam .. ich habe zwar kein Dualcore ... jedoch funktioniert es bei mir auch nicht.

Bei mir kommt ein Verzeichnisauswahl Fenster mit dem Titel "Elemente Verschieben" .

Daniel 10. Okt 2006 18:56

Re: Shellexecute AmdX2 problem ?
 
Merkwürdig.

Ich musste den Pfad anpassen, aber diese Änderung sollte die Situation ja nicht grundlegend ändern.

Delphi-Quellcode:
Fpfad ='c:\Documents and Settings\All Users\Desktop\';
Hier funktioniert aber alles wie erwartet. Ist zwar DualCore, aber auch ein WinXP Pro x64.

NicoDE 10. Okt 2006 18:59

Re: Shellexecute AmdX2 problem ?
 
1) Du solltest dir angewöhnen Rückgabewerte zu überprüfen
2) versuch's mit fpath + fname

th_bone 10. Okt 2006 19:46

Re: Shellexecute AmdX2 problem ?
 
@NicoDE

1. Rückgabewerte sind immer in Ordnung (prüfe ich natürlich im Hauptprogramm)
2. hatte ich auch schon probiert - keine Änderung

kann den jemand das Problem auf einem AMD X2 mit WinXP home nachvollziehen ?

wenns bei DualCore funktioniert scheint sich das Problem wohl auf die X2s und auf
links einzugrenzen... exe lassen sich ja seltsamerweise starten...
(hatte es wie gesagt auf 2 unabhängigen X2s probiert - und zur Sicherheit auch als Admin
angemeldet)

naja morgen ist ja wieder Patchday mal sehen obs dann wieder geht...

Tschö

Ralf


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 Uhr.
Seite 1 von 2  1 2      

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