2010-08-10 7 views
1

Je suis encore apprendre à programmer mais j'ai une question simple. Je le code suivant pour l'exécution d'un programme COBOL exécutable par C++, mais je reçois des erreurs de COBOL: 251 et 410essayant d'exécuter COBOL .exe en C++ programme

#include <iostream> 
#include <windows.h> 

using namespace std; 

int main(){ 
    system("C:\\rmcobol\\runcobol.exe SOLOCAJA.COB c=windows.cfg L=WOWRT.DLL"); 
    cout << "\n"; 
    system("pause"); 
    return 0; 
} 

Je suppose qu'il doit y avoir une raison très simple pour cela, mais je suis désemparés à ce jour. Toute aide serait très appréciée.

+0

Si vous exécutez la commande que vous passez à 'system' directement à partir de la ligne de commande, cela fonctionne-t-il? –

+0

Que se passe-t-il lorsque vous exécutez cette ligne de commande à partir d'une invite de commande? –

+0

ight aide http://www.tek-tips.com/viewthread.cfm?qid=1119251&page=5 – Anycorn

Répondre

2

erreur 410 est une erreur "fichier de configuration introuvable" basée sur Apendix A du user guide. Êtes-vous sûr que votre fichier windows.cfg se trouve dans le répertoire dans lequel vous exécutez votre code? À défaut, l'erreur 251 indique «Commande d'exécution incorrecte» et tous les échantillons que je peux trouver sont en majuscules C

Alors peut-être changer votre programme C à utiliser pour:

system("C:\\rmcobol\\runcobol.exe SOLOCAJA.COB C=WINDOWS.CFG L=WOWRT.DLL"); 

et voir si cela le fixe (un long shot, je sais, mais je l'ai vu des choses plus étranges que cela).


Sur la base de la mise à jour:

J'ai essayé de changer le c à un C sur le C = windows.cfg, il a couru en C++ et directement sur la ligne de commande, aucun changement. Je cherche toujours les raisons derrière tout cela, et je l'ai lu tek-tips.com/viewthread.cfm?qid=1119251 & page = 5 mais je ne pouvais pas utiliser l'une des Qu'Info. Tous les conseils supplémentaires seraient d'or à ce stade. MERCI!

Quelques questions:

  • a-t-il jamais travaillé dans cet environnement?
  • est-il à la fois défaillant sur cmdline et dans C (Je veux juste préciser)?
  • Est-ce que windows.cfg existe réellement dans le répertoire courant lorsque vous l'exécutez?
  • Êtes-vous en cours d'exécution dans un répertoire avec des espaces (comme My Documents)?

Autre que cela, peut-être publier le fichier windows.cfg, bien que l'erreur semble assez explicite que c'est le fichier de configuration ne trouvé plutôt que l'erreur dans le fichier de configuration.

+0

j'ai essayé de changer le c à un C sur le C = windows.cfg, il a couru en C++ et directement sur la commande Ligne, pas de changement. Je suis toujours en train d'examiner les raisons derrière cela, et j'ai lu tek-tips.com/viewthread.cfm?qid=1119251&page=5 mais je ne pouvais pas utiliser aucune de ces informations. Tous les conseils supplémentaires seraient d'or à ce stade. MERCI! – AGE

+0

1. C'est la première fois que je le teste sur cet environnement. 2. Il échoue sur cmdline et dans C. 3. Oui, il existe. 4. Le répertoire n'a pas d'espace. Je ne comprends pas pourquoi cela ne fonctionne pas. Peut-être est-ce un conflit avec le RM/COBOL ou le compilateur?J'essaie de le garder très simple en utilisant le code DevC++ et C++ pour exécuter le programme avant de décider de l'implémenter. – AGE

+0

Tout ce que je peux suggérer à ce stade est de (si ça marche ailleurs) essayer de comprendre la différence entre l'environnement en cours d'exécution et non-fonctionnement. Au-delà, tout ce que je peux faire est de vous suggérer de contacter le fournisseur: http://supportline.microfocus.com/xmlloader.asp?type=home# ... désolé, je ne pourrais pas être plus utile. – paxdiablo