Mam dosc dziwny problem. Jest sobie aplikacja geodezyjna - EWMapa w wersji 8. Gdy odpalam ja standardowo poprzez skrot na pulpicie, wszystko smiga. Jdenak gdy robie to z poziomu mojego programu w Delphi:
procedure TFormMain.Run(Sender: TObject);
var
FileName, Path: String;
begin
if ListView.Selected <> nil then
begin
FileName := PChar(PAppInfo(ListView.Selected.Data)^.FileName);
Path := ExtractFilePath(FileName);
if FileExists(FileName) then
ShellExecute(Handle, 'open', PChar(FileName), nil, PChar(Path), 1)
else
MessageBox(Handle, 'Podczas uruchamiania aplikacji wystąpił błąd - nie znaleziono pliku wykonywalnego programu. Skontaktuj się z administratorem.', PAnsiChar(appTitle), MB_ICONERROR + MB_OK);
end;
end;
aplikacja odpala sie, ale podczas wczytywania duzej ilosci danych (mapy, podklady rastrowe) pojawia sie blad out of memory. Pytanie brzmi: czym moze sie roznic odpalanie poprzez skrot a poprzez funkcje SellExecute? Moze cos zle robie? Dodam ze odpalam w ten sposob sporo innych aplikacji i nie ma tego problemu. Problem wystepuje na komputerach z Win XP (na Win 2000 nie sprawdzalem). Komputery sa w domenie a aplikacja (ta moja) dodatkowo jest potraktowana UPX-em.