Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 379 689

  • Nb. de membres 187
  • Nb. d'articles 1 271
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» [Résolu] - zzd10h : updates de programmes

[Résolu] - zzd10h : updates de programmes #1464

13Contributeur(s)
zzd10hK-LsinisrusLioalexdavebracoElwoodPseudaxosartblinkFabMurakamiYesCopCreols
3 Modérateur(s)
K-LElwoodcorto
alex alexicon_post
Je confirme après tests que PROGDIR: est bien renseigné par launch-handler :

30.Langages:Sources/tests> testPROGDIR
PROGDIR is: DH3:Sources/tests
30.Langages:Sources/tests> cd ram:t
30.RAM Disk:T> appdir:testPROGDIR
PROGDIR is: DH3:Sources/tests


Le code utilisé est :


#!include! <dos/dos.h>
#!include! <proto/dos.h>

int main(int argc, char **argv)
{
LONG rc = 0;

if(!argc)
{
IDOS->TimedDosRequesterTags(TDR_TitleString, "Test error",
TDR_FormatString, "WB Startup isn't supported",
TDR_GadgetString, "OK",
TDR_ImageType, TDRIMAGE_ERROR,
TAG_END);
return 20;
}

BPTR FH = IDOS->Lock("PROGDIR:", SHARED_LOCK);
if(ZERO != FH)
{
TEXT strFullPath[2048];

if(IDOS->DevNameFromLock(FH, strFullPath, 2048, DN_FULLPATH))
{
IDOS->Printf("PROGDIR is: %s\n", strFullPath);
}
else rc = IDOS->IoErr();

IDOS->UnLock(FH);
}
else
{
rc = IDOS->IoErr();
}

if(0 != rc)
IDOS->PrintFault(rc, "TestErr");

return((int)rc);
}


Comment exécutes tu ton programme ?
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
zzd10h zzd10hicon_post
Oui PROGDIR: est bien renseigné mais le programme n'est pas lancé.

Voila comment j'avais essayé (edit : de mémoire...)

strcpy(command_RageMem,"PROGDIR:Data/RageMem/RageMem > RAM:SysMon_RageMem.txt");
int result_cmd = SystemTags(command_RageMem,SYS_Input,NULL,SYS_Output,NULL,SYS_Error,NULL,SYS_Asynch,FALSE,TAG_END);


J'ai bien WORK:SysMon dans PROGDIR mais le programme RageMem n'était pas trouvé.



Message édité par : zzd10h / 11-05-2013 16:41
alex alexicon_post
Ok alors ça vient de là. En fait System lance un nouveau shell qui va exécuter la commande que tu lui passes.
Dans l'autodoc il est dit que le shell hérite du répertoire courant de ton processus, or quand tu es sous un shell et que tu lances AppDir:XYZ alors que tu te trouves dans RAM:T le répertoire courant de XYZ sera RAM:T et pas PROGDIR: Cela explique pourquoi cela ne parchait pas quand tu mettais juste "Data/RageMem".
Maintenant pourquoi ça ne marche pas avec PROGDIR: ? simplement parce que celui qui interprete PROGDIR: c'est le Shell et par conséquent PROGDIR: sera interprété comme SYS:System.

Une solution est de faire ce que tu as fait en rajoutant GetProgramDir() en préfixe à chaque fois, ou alors de faire un CurrentDir() sur GetProgramDir() au début du programme et le tour est joué (par contre il faut penser à remettre l'ancien répertoire avant de quitter sous peine d'avoir des plantages étranges (DOS.library ne fait pas la vérif est assume que le répertoire après exécution est le meme qu'avant...).
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
zzd10h zzd10hicon_post
Merci Alex pour les explications ;)

Je laisse donc tel quel avec GetProgramDir
artblink artblinkicon_post
Test sdlBench

Ma conf : MicroAone

En 320x240 :

Soft :

Slow point : 5.50964
Fast point : 206.785
Rect Fill : 14840.6
32x32 Blit : 47080.5

Hard :

Slow point : 186.047
Fast point : 101.106
Rect Fill : 157538
32x32 Blit : 136533

En 640x480 :


Soft :

Slow point : 0.692281
Fast point : 46.3768
Rect Fill : 4051.43
32x32 Blit : 43574.5

Hard :

Slow point : 50.3145
Fast point : 25.2441
Rect Fill : 57690.1
32x32 Blit : 163840

Voilà, je comprend rien aux résultats mais sa m'a l'air pas mal
zzd10h zzd10hicon_post

Merci bcp Artblink,
c'est quoi ta config exacte :

CPU (Mhz) / carte graphique

Elwood Elwoodicon_post
Citation : zzd10h?

1) ou alors c'est ENVARC: ?


Non plus, c'est prévu pour les programmes qui ont le mécanisme Utiliser/Enregistrer. C'est juste que les développeurs en ont abusé par le passé :-/
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
zzd10h zzd10hicon_post
Merci Elwood mais existe t'il un repertoire où on peut stocker des fichiers de "parametres" ?
Hors PROGDIR ?
Un truc style /usr/local ?

artblink artblinkicon_post
Ma config selon ton logiciel de merde :-D :-D :-D :-D :-D :

PPC G3 750 FX 2.2 à 800Mhz

carte gfx Ati radeon 7000 avec 32 Mo

Cache :
L1 = 32 Ko
L2 = 512 Ko

Vitesse du bus = 133 Mhz

Voilà, A+ caillin :-P
zzd10h zzd10hicon_post

Merci ça me touche vraiment :-D
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme