Cobol probleem met call

Pagina: 1
Acties:

  • gill
  • Registratie: Januari 2002
  • Laatst online: 26-12-2025

gill

Love my lindsey...

Topicstarter
Hello,

Ik zit met een probleem met Cobol. Het is belangrijk voor mij, aangezien dit een eindwerk voor mij is, en dus, als je kan helpen, please do so.

Het probleem:
We werken met CA Realia II Workbench.
Ik moet een programma maken met deelprogramma's, waardoor ik dus het Call statement moet gebruiken.
Ik geef je eerst een stukje code, waarom het allemaal draait:
evaluate true
when llnbeheer
call "c:\cobol\eindwerk\llnbeheer.cbl" using temp
when klindeling
call "_KLASINDELING"
when resverwerking call
"RESULTATENVERWERKING"

Nu is het probleem: wanneer ik de compile/link doe, krijg ik de volgende errors van de linker:
============ Begin Link Step ================
Link as EXE
Microsoft (R) 32-Bit Incremental Linker Version 3.00.5270
Copyright (C) Microsoft Corp 1992-1995. All rights reserved.

c:\cobol\eindwerk\leerlingenbeheer.OBJ
/OUT:c:\cobol\eindwerk\leerlingenbeheer.EXE
/MAP:c:\cobol\eindwerk\leerlingenbeheer.MAP
C:\CAWB30\lib\carclw60.lib
leerlingenbeheer.OBJ : error LNK2001: unresolved external symbol _C:\COBOL\EINDWERK\LLNBEHEER.CBL
leerlingenbeheer.OBJ : error LNK2001: unresolved external symbol __KLASINDELING
leerlingenbeheer.OBJ : error LNK2001: unresolved external symbol _RESULTATENVERWERKING
c:\cobol\eindwerk\leerlingenbeheer.EXE : fatal error LNK1120: 3 unresolved externals
--------------------------------------------------------
..Link Error WBL006- Link Step Failed. Please examine
..the linker output (above) for details
--------------------------------------------------------

Zoals je ziet, hij geeft telkens een unresolved external symbol error, hij zet telkens een "_" voor de naam van het bestand. In de help van Realia staat er een voorbeeld, dat perfect overeenkomt met mijn code. Ik heb al alle mogelijkheden geprobeerd, zoals de volledige padnaam, extensies toevoegen(obj, exe...), niets helpt...

Is er onder jullie nog een Cobol expert? Help me dan please...

Thanks

Visit my new Blog!
www.Snowball.be


Verwijderd

even wat vragen;

om die call's te kunnen "linken" moet er dus een reeds
gecompileerde .obj zijn van een source waar de ingangen
(entry) van de calls inzitten, dus

call "c:\cobol\eindwerk\llnbeheer.cbl" using temp
when klindeling
call "_KLASINDELING"
when resverwerking call
"RESULTATENVERWERKING"

moeten ergens een ingang vinden ineen OBJ-file
Tijdens het 'linken' probeert ie de calls en entries
aan elkaar te koppelen.

Ik neem aan dat je entries staan in de cobol-source
file c:\cobol\eindwerk\llnbeheer.cbl

Is die al gecompileerd ?

  • gill
  • Registratie: Januari 2002
  • Laatst online: 26-12-2025

gill

Love my lindsey...

Topicstarter
yep, ze zijn al gecompiled.
De drie verschillende mogelijkheden heb ik hier gezet om aan te tonen dat zowel de volledige padnaam(eventueel met .obj), zonder padnaam... allemaal mislukken.
De obj file zit in dezelfde directory.

Ik gebruik dus wel winXP, zou het kunnen dat die linker daarop niet goed werkt? Al mijn andere Cobol werkjes hebben echter allemaal perfect verlopen, maar daarin kwam nog geen call voor.

Visit my new Blog!
www.Snowball.be


Verwijderd

kan het niet zijn dat je linker de obj-files in een
bepaalde directory zoekt ? Misschien moet die nog
ingesteld worden (shell variabele LIBPATH of OBJPATH
misschien)

  • gill
  • Registratie: Januari 2002
  • Laatst online: 26-12-2025

gill

Love my lindsey...

Topicstarter
nope, juist veranderd, en geen verschil...:(:(:(

Visit my new Blog!
www.Snowball.be


  • Treb
  • Registratie: Mei 2000
  • Niet online
Bij de eerste call die je doet geef je aan dat je de variabele temp meegeeft.

Heb je deze wel op de juiste plaats gedeclareerd :?
In je Data Division een linkage section opnemen en daar deze variabele inzetten.

Hetzelfde geldt voor alle programma die je aanroept met die variabele, die moet dan ook op die plaats gedeclareerd worden.

  • gill
  • Registratie: Januari 2002
  • Laatst online: 26-12-2025

gill

Love my lindsey...

Topicstarter
'k Heb mijn leerkracht kunnen contacteren... Blijkbaar is er iets vreemd aan de hand: de namen van de opgeroepen deelprogs mogen niet langer zijn dan 7 karakters...

Toch bedatnk voor de hulp allemaal!

Visit my new Blog!
www.Snowball.be

Pagina: 1