50Fermer52
Lionel DebrouxLe 12/10/2010 à 10:36
C'est pas lié au fait que l'IDE essaie de copier temporairement les fichiers "quelque part" au moment de la compilation, de façon à reproduire l'arborescence de ses dossiers virtuels ?

Oui, c'est lié, si ma mémoire est bonne.
si c'est ça et que le fameux dossier "temporaire" est codé en dur sans passer par les variables d'environnement de Windows

Non, ou du moins, pas partout: dans mainunit.pas, accessible à partir de http://trac.godzil.net/gcc4ti/browser/trunk/tigcc/ide , on trouve
                GetTempPath (SizeOf (TempDir), TempDir);
                Temp := AnsiString (TempDir);
                if (Length (Temp) <= 0) or (not DirExists (Temp)) then begin
                        GetEnvironmentVariable ('TMP', TempDir, SizeOf (TempDir));
                        Temp := AnsiString (TempDir);
                end;
                if (Length (Temp) <= 0) or (not DirExists (Temp)) then begin
                        GetEnvironmentVariable ('TEMP', TempDir, SizeOf (TempDir));
                        Temp := AnsiString (TempDir);
                end;
                if (Length (Temp) <= 0) or (Length (Temp) > 30) or (Pos (' ', Temp) > 0) or (Pos ('TEMP', UpperCase (Temp)) <= 0) then begin
                        GetWindowsDirectory (TempDir, SizeOf (TempDir));
                        Temp := WithBackslash (AnsiString (TempDir)) + 'TEMP\';
                        if not DirExists (Temp) then try
                                MkDir (Temp);
                        except end;
                end;
                if (Length (Temp) <= 0) or (Length (Temp) > 30) or (Pos (' ', Temp) > 0) then begin
                        Temp := 'C:\TEMP\';
                        if not DirExists (Temp) then try
                                MkDir (Temp);
                        except end;
                end;
                Temp := WithBackslash (Temp) + IntToHex (GetCurrentProcessID, 8) + '\';
                if not DirExists (Temp) then try
                        MkDir (Temp);
                except end;

( http://trac.godzil.net/gcc4ti/browser/trunk/tigcc/ide )