[Turbo Pascal 7]Units compilen die verwijzen naar elkaar

Pagina: 1
Acties:

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
Ik zit met het volgende probleem: ik heb een hele lijst met .pas files, die wil ik compilen, maar er zitten bijv. een file tussen (a.pas) die TP niet compiled omdat hij verwijst naar b.tpu. Ook b.pas kan ik niet compilen omdat deze weer verwijst naar a.tpu. Ik krijg dan een ERROR 15 (file not found). Hoe kan ik deze bestanden toch compilen?

Nederlander in België


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

je moet zogenaamd een "make" doen, ipv een "compile". Afhankelijk wat je gebruikt (tpc.exe, turbo.exe, tpx.exe) kan je dit instellen.

code:
1
tpc -m a.pas


zou moeten doen wat jij wilt.

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Tja, WAAROM verwijst ie naar b? Waarschijnlijk voor 1 of enkele functies...

Als je die nou gewoon uit b.pas ript en in a zet, dan hoeft a.pas ook geen b.pas te gebruiken...

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

ja lijkt me een goed plan. Units zijn toch overbodig 8)7

Verwijderd

elevator schreef op 10 oktober 2002 @ 18:55:
ja lijkt me een goed plan. Units zijn toch overbodig 8)7
lol


maar er was een optie om iets met forward references uit te schakelen binnen de compiler. het is in ieder geval wel mogelijk

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
elevator schreef op 10 oktober 2002 @ 18:55:
ja lijkt me een goed plan. Units zijn toch overbodig 8)7
Het gaat om MPXF, daarvan heb ik de source code. Ik heb het niet zelf geschreven en ik begrijp dus ook niet alles hieruit. Ik heb het wel geprobeerd met Make, maar volgens mij lukt dat niet. Ik doe het overigens gewoon vanuit het menu in Turbo.exe.

Nederlander in België


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

je bedoelt waarschijnlijk circular references? Dus dat unit 'a' geinclude wordt door unit 'b' in het interface gedeelte, waar unit 'a' ook unit 'b' gebruikt in het interface gedeelte?

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
Verwijderd schreef op 10 oktober 2002 @ 19:02:
[...]

lol


maar er was een optie om iets met forward references uit te schakelen binnen de compiler. het is in ieder geval wel mogelijk
Dat zoek ik dus :)

Nederlander in België


  • Osiris
  • Registratie: Januari 2000
  • Niet online
elevator schreef op 10 oktober 2002 @ 18:55:
ja lijkt me een goed plan. Units zijn toch overbodig 8)7
Verwijderd schreef op 10 oktober 2002 @ 19:02:
[...]

lol


maar er was een optie om iets met forward references uit te schakelen binnen de compiler. het is in ieder geval wel mogelijk
Mjah, haha, lol, en we helpen Elektronicanet daar ook zo goed mee ;) :{

Anywayz, als ie iets uitschakeld, lijkt me die bepaalde functie niet meer werken, maar dat kan aan mij liggen...

Ik zou gewoon die betreffende functie ff in a.pas zetten oid :)

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
elevator schreef op 10 oktober 2002 @ 19:03:
je bedoelt waarschijnlijk circular references? Dus dat unit 'a' geinclude wordt door unit 'b' in het interface gedeelte, waar unit 'a' ook unit 'b' gebruikt in het interface gedeelte?
Ja... Wist niet hoe het heet :Y)

Nederlander in België


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Vertel ons eens welke compiler versie je gebruikt (turbo.exe -> alt -c, m) en welke melding je exact krijgt.

Weet je zeker dat de TPU files die je hebt, dezelfde versie zijn als jouw TurboPascal versie ?

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
Ik druk op ALT F9 of F9 (maakt niet uit) en dan krijg ik ERROR 15 File not found

Nederlander in België


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Alle source en TPU files staan in dezelfde directory?

Ga eens naar tools -> directories en bij unit directory (oid) vul daar de drectory eens in waar je TPU files staan. Of nog makkelijker, start turbo.exe op vanuit die directory.

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
elevator schreef op 10 oktober 2002 @ 19:04:
[...]
Weet je zeker dat de TPU files die je hebt, dezelfde versie zijn als jouw TurboPascal versie ?
Nee... Dit is nl. de source code van MPXF, een mp3speler voor DOS...

Nederlander in België


  • Osiris
  • Registratie: Januari 2000
  • Niet online
elevator schreef op 10 oktober 2002 @ 19:07:
Alle source en TPU files staan in dezelfde directory?

Ga eens naar tools -> directories en bij unit directory (oid) vul daar de drectory eens in waar je TPU files staan.
Het gaat er dus om, dat a.pas b.tpu wil hebben... b.tpu is echter niet gecompileerd en bestaat nog uit b.pas... b.pas wil echter a.tpu hebben, en da's ook nog een pasje...

Dat was het probleem iig AFAIK

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
elevator schreef op 10 oktober 2002 @ 19:07:
Alle source en TPU files staan in dezelfde directory?

Ga eens naar tools -> directories en bij unit directory (oid) vul daar de drectory eens in waar je TPU files staan. Of nog makkelijker, start turbo.exe op vanuit die directory.
Ja, sommige files van MPXF kan ik wel gewoon compilen.

Nederlander in België


  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
Osiris schreef op 10 oktober 2002 @ 19:08:
[...]

Het gaat er dus om, dat a.pas b.tpu wil hebben... b.tpu is echter niet gecompileerd en bestaat nog uit b.pas... b.pas wil echter a.tpu hebben, en da's ook nog een pasje...

Dat was het probleem iig AFAIK
_/-\o_ Dankje _/-\o_
Dat is het ja...

Nederlander in België


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

ok, doe eens een build (compile -> build). Daarna geeft ie (misschien) aan dat er een bestand / unit ontbreekt. Welke is dat? Staat die uberhaupt wel op je PC ?

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
elevator schreef op 10 oktober 2002 @ 19:09:
ok, doe eens een build (compile -> build). Daarna geeft ie (misschien) aan dat er een bestand / unit ontbreekt. Welke is dat? Staat die uberhaupt wel op je PC ?
Nee, die moet dus nog gecompiled worden!

Nederlander in België


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Nee.. Een Build compiled alle sources die nodig zijn.

Nogmaals. Doe eens een build, en de file die hij dan niet kan vinden, welke is dat, en staat daar uberhaupt wel een versie van op je harde schijf (danwel in .PAS danwel in .TPU vorm) ?

  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
elevator schreef op 10 oktober 2002 @ 19:11:
Nee.. Een Build compiled alle sources die nodig zijn.

Nogmaals. Doe eens een build, en de file die hij dan niet kan vinden, welke is dat, en staat daar uberhaupt wel een versie van op je harde schijf (danwel in .PAS danwel in .TPU vorm) ?
Ok... zal het nog een keer checken...

Nederlander in België


  • Elektronicanet
  • Registratie: December 2001
  • Laatst online: 10-08 16:26
Elektronicanet schreef op 10 oktober 2002 @ 19:13:
[...]

Ok... zal het nog een keer checken...
AH dankje... Stom zeg... Ik had de PAS files in een andere map staan als de TPU files (namelijk op diskette). Nu werkt ie!!! Weer iets geleerd (8>

Slotjuh... :)

Nederlander in België


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13

MaxxRide

Surf's up

je kunt ook nog circular references hebben. A.pas verwijst naar b.pas in de interface sectie en vice versa. Dit kun je oplossen door een van de includes in de implementation sectie te zetten.

If you are not wiping out you are nog pushing enough...


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 31-08 19:41

Creepy

Tactical Espionage Splatterer

Het is "standaard practice" om units te includen in het implementation deel i.p.v. het interface deel, behalve als het om standaard units (die je meegeleverd krijg bij je compiler).

Waarom zou je dingen in je interface deel zetten die je alleen maar intern gebruikt? Op het moment dt je declaraties in je interface deel hebt staan die gebruik maken van iets uit een andere unit pas DAN zet je die unit in het include deel van je interface deel. Niet eerder.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1