Link Problem

Still in use?

Moderator: Moderatoren

visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Link Problem

Beitrag von visionbrasil »

Hallo zusammen,

tja eigentlich ist es schon 12 Jahre her, dass ich das letzte mal mit Clipper gearbeitet habe. Und genau dies ist das Problem. Ich hoffe es gibt noch ein paar Spezialisten - denn ich habe einiges vergessen und ein Kumpel will gerade diese alten Programme. Natürlich muss ich etwas modifizieren (Euroumstellung :D usw.)

Allerdings bekomme ich irgendein Problem beim compilieren und linken. Ich habe testhalber nur mal ein kleines 3 Zeilen "Hallo Welt" Programm genommen. Aber ich bekomme nur Fehlermeldungen beim linken. Siehe Unten. Kann mir mal einer kurz auf die Sprünge helfen :idea: warum es nicht klappt ?????

Also ich hatte nie mit LNK und sonstigen Scripts gearbeitet sondern nur die Progs compiliert und dann gelinkt - Fertig.

Danke
Ralf

------------------------------------------------------------------------------------------
C:\CLIP53>clipper r
CA-Clipper (R) 5.3b (Rev. 338)
Copyright (c) 1985-1996, Computer Associates International, Inc.
Microsoft C Floating Point Support Routines
Copyright (c) Microsoft Corp 1984-1993. All Rights Reserved.
306K available
Compiling R.PRG
Code size 59, Symbols 48, Constants 5

C:\CLIP53>if not errorlevel 1 rtlink file r, MSGGER.OBJ, NTXGER.OBJ, __wait_4.ob
j
.RTLink for Clipper Dynamic Overlay Linker / Pre-Linker Version 3.14B
(C) Copyright Pocket Soft Inc., 1988-1991. All Rights Reserved.

warning wrt0013: Unprogrammed Record Type: 91H ((null)) in file 'C:\CLIP53\LIB\CLIPPER.LIB'
warning wrt0013: Unprogrammed Record Type: 99H ((null)) in file 'C:\CLIP53\LIB\CLIPPER.LIB'

UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
SYMBOL FIRST REFERENCE
------ ---------------
'WAIT_TICK' __WAIT_4.OBJ
'INTSAVE' __WAIT_4.OBJ
'__end' CLIPPER.LIB
'__edata' CLIPPER.LIB
'FIWRQQ' CLIPPER.LIB
'FIDRQQ' CLIPPER.LIB
'FJCRQQ' CLIPPER.LIB
'FJARQQ' CLIPPER.LIB
'FIARQQ' CLIPPER.LIB
'FJSRQQ' CLIPPER.LIB

warning wrt0022: .EXE may not execute properly -- undefined symbols
157K
3 warning message(s)
------------------------------------------------------------------------
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12909
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: Link Problem

Beitrag von AUGE_OHR »

hi,

nimm doch mal die 3 Objecte : MSGGER.OBJ, NTXGER.OBJ, __wait_4.ob
raus, vor allen das __wait_4.OBJ
gruss by OHR
Jimmy
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

habe ich auch schon versucht.Dan sind zwar die undefinied Symbols Fehler weg, aber die oberen Fehler (warning wrt0013: Unprogrammed Record Type: 91H ((null)) in file 'C:\CLIP53\LIB\CLIPPER.LIB'
warning wrt0013: Unprogrammed Record Type: 99H ((null)) in file 'C:\CLIP53\LIB\CLIPPER.LIB') bleoben.

Meines wissen nach benötige ich die ersten 2 OBJ dafür, dass ich mit Umlauten arbeiten kann, das 3. OBJ damit ein Clipper Programm überhaupt auf einem schnellen Rechner läuft - richtig ?!? :)
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9365
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von Tom »

Kann es sein, dass die CLIPPER.LIB einfache eine Klatsche hat? Wann ist damit zuletzt ein Programm gelinkt worden? Und, ja, die __WAIT_x.OBJ (gibt's mehrere Varianten von) schaltet die clipperinterne Branch-Prediction (Sprungvorhersage, Geschwindigkeitsmessung) ab, die auf schnelleren Rechnern - und das gilt für eigentlich jeden aktuellen Rechner - zum Absturz gleich beim Start führen würde.

Allerdings: Wenn ich das hier mache:

TEST.PRG:

Code: Alles auswählen

? "Hallo, Welt"
CLIPPER TEST
RTLINK FI TEST

Dann läuft das auch. Sogar ohne __WAIT_x.OBJ
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von brandelh »

Hi,

bei mir heist die Datei __WAIT_B.OBJ, die wird aber soweit ich weiß nur benötigt, wenn man die Clipper Tools benutzt hat.

Code: Alles auswählen

? "Hallo Welt"
wait
wird auf meinem Athlon 64 3000+ auch fehlerfrei übersetzt und gestartet (ohne __WAIT_B.OBJ).
Allerdings habe ich die 5.2e, mit den 5.3 konnte ich mich nie anfreunden.

Nun eine andere Frage, stimmen die Pfade ?
Xbase und Clipper benutzten teilweise die gleichen Einstellungen.
Ich habe daher eine BATCH setcl5.bat die die DOS Umgebung herrichtet:

Code: Alles auswählen

set PATH=%PATH%;c:\CL5\BIN;c:\CL87;c:\cl5\NG;c:\PB;

SET TEMP=%TEMP%
SET TMP=%TEMP%

rem CLIPPER 5
SET INCLUDE=c:\CL5\INCLUDE
SET LIB=c:\CL5\LIB
SET OBJ=c:\CL5\OBJ
SET PLL=c:\CL5\PLL
diese rufe ich in einer DOS Box auf und kompliliere von dort ...
Gruß
Hubert
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

@brandelh

Die Pfade stimmen

C:\CLIP53>path
PATH=C:\CLIP53\BIN;E:\WINDOWS.1\SYSTEM32;E:\WINDOWS.1;E:\WINDOWS.1\SYSTEM32\WBEM;E:\PROGRA~1\MI6841~1\90\TOOLS\BINN\;\C:\CLIP53

set
PIPEHANDLE=0
OBJ=C:\CLIP53\OBJ
LIB=C:\CLIP53\LIB
PLL=c:\CLIP53\PLL
INCLUDE=C:\CLIP53\INCLUDE
CLIPPER=F40

@Tom
also wie schon erwähnt, habe ich das letzte mal so vor 12 Jahren damit gearbeitet. Von daher kann Deine Idee natürlich hin hauen dass CLIPPER.Lib auch nen Schuss weg haben könnte. Hast Du noch eine die Du mir mal zum probieren schicken kannst???
die __WAIT_4.OBJ hahatte ich mal eingebunden da meine alten Progs ohne PCBREMSE nicht laufen

Frage, was bedeutet den das FI als RTLINK Option ??? (tut aber auch mit dieser Option nicht :cry: )
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9365
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von Tom »

@Visionbrasil: Ich habe auch nur Clipper 5.2, könnte Dir also keine 5.3er-Lib zur Verfügung stellen. Es ist aber möglich, dass es das schon irgendwo zum Download gibt - schließlich ist Clipper quasi rechtefrei.

Die Option "FI" bei RTLINK steht für "FILES", also die zu linkenden OBJ-Dateien. Einfach mal "RTLINK HELP" eingeben.

Was passiert denn, wenn Du das machst, was ich in meinem Beispiel gemacht habe?
Herzlich,
Tom
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

tja Tom, sieht so aus als hättest Du recht gehabt. Hab mir mal eine andere Version von Clipper(5.2) aus dem Netz gezogen. Und siehe da, alles tut.
Jetzt muss ich mal schauen ob es nur an der Clipper.lip lag oder ob es da noch mehr zerhauen hat und dann mal schauen was ich mache.

Erst mal vielen Dank an Euch. Hätte ja nicht gedacht das es noch Leute gibt die in Clipper fit sind und dann auch noch so schnell antworten. Wenn ich noch ein paar andere Probleme habe melde ich mich........ :roll:

Danke
Ralf
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9365
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von Tom »

Hallo, Ralf.

Es gibt allerdings signifikante Unterschiede zwischen Clipper 5.2 und 5.3. Eine Downloadsite, auf der es Clipper 5.3 gibt, habe ich hier gefunden (ohne Gewähr!):

http://www.vetusware.com/download/Clipp ... b/?id=3788
Herzlich,
Tom
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

Also ich schätze das Problem ist gelöst.

Clipper 5.3 arbeitet nicht mehr korrekt mit RTLINK zusammen sonder nur noch mit BLINKER (oder Exospace ?!?). Das war der Fehler. Ich hatte seither (5.2) immer RTLINK eingesetzt und dies deshalb auch mit 5.3 versucht.

Danke an alle....

Ralf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von brandelh »

Hi,

war denn bei 5.3 nicht auch ein Linker dabei ?

Ach der Blinker ... das war ein Fortschritt damals und so niedlich beim "blinken" :wink:
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9365
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von Tom »

war denn bei 5.3 nicht auch ein Linker dabei ?
Ja, Expospace, der auch schon mit Clipper 5.2 ausgeliefert wurde.
Herzlich,
Tom
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

Hallo Tom,

Jetzt muss ich Dich noch einmal um Hilfe bitten. Es ist einfach schon soooo lange her als ich mit Clipper gearbeitet habe - und alles damals erlente ist irgendwie raus aus dem Hirn :?

Habe ja jetzt Vers. 5.2c + CATOOLS auf dem Rechner. Mein "Hallo Welt" Prog geht ja jetzt und es würde nun an die eigentliche Aufgabe gehen die aktuellen Progs von mir zu modifizieren. Compilieren geht. Aber beim Linken kommen Fehler. Weis noch dass ich da irgendwelche .OBJ. Dateien einbinden musste ..... aber welche ?????

rtlink fi menu.obj

Meine Pfade:
------------------------------------------
PATH=C:\CLIP52\BIN;C:\CLIP52\CATOOLS\BIN;C:\CLIP52\NG
SET OBJ=C:\CLIP52\OBJ;C:\CLIP52\CATOOLS\OBJ
SET LIB=C:\CLIP52\LIB;C:\CLIP52\CATOOLS\LIB
SET PLL=c:\CLIP52\PLL;C:\CLIP52\CATOOLS\PLL
SET INCLUDE=C:\CLIP52\INCLUDE;C:\CLIP52\CATOOLS\INCLUDE
------------------------------------
Hier mal die Fehlerliste. Kannst Du mir noch einmal helfen ?!?
-------------------------------------
UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
SYMBOL FIRST REFERENCE
------ ---------------
'KEYSEC' MENU.OBJ
'SPOOLACTIV' MENU.OBJ
'SHOWTIME' MENU.OBJ
'WACLOSE' MENU.OBJ
'WSELECT' MENU.OBJ
'RANDOM' MENU.OBJ
'MILLISEC' MENU.OBJ
'WSETSHADOW' MENU.OBJ
'SETBOXGROW' MENU.OBJ
'WOPEN' MENU.OBJ
'WBOX' MENU.OBJ
'WCLOSE' MENU.OBJ
'DSPERREN' MENU.OBJ

warning wrt0022: .EXE may not execute properly -- undefined symbols
317K
1 warning message(s)
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Link Problem

Beitrag von Manfred »

Hi,

das sind auf jeden Fall Meldungen, dass eine CATOOL Bib fehlt.

Hast Du ctgr.obj eingebunden?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

Hallo Manfred,

finde keine ctgr.obj . Weder im Clipper noch im CaTools (Unter)Verzeichnissen. Nur eine Ct.lib und eine ct52.lib
Fehlt mir da was ????
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Link Problem

Beitrag von Manfred »

Hi,

ich bin mit den CATOOLS nicht mehr sehr vertraut. Ich habe es nur im Handbuch gelesen. Dort steht halt, dass man für die erweiterten Treiber ctgr.obj benötigt. Die erweiterten Treiber beinhalten die Fenster Funktionen.

Hast Du denn auch die anderen Obj Dateien der Tools eingebunden?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

Es ist halt alles schon sehr lange her. Ich habe keine Ahnung mehr wie ich das alles damals so gemacht habe, was ich eingebunden habe oder nicht, wie man etwas einbindet und woher ich weis was ich einbinden muss und was nicht.
Das ganze Prog beteht aus ca. 30 Einzelprogs durch die ich mich gerade durchkämpfe.

Das erste was ich mal ereichen wollte ist, den aktuellen Zustand (also so wie es damals geschrieben war) ohne irgendwelche Fehlermeldungen neu zu Compilieren und zu linken.
Wenn das mal klappt, kann ich mich an die Veränderungen machen.

Ich habe noch wage in Erinnerungen, dass ich einige OBJ Dateien beim linken eingebunden habe, aber welche das waren und ob ich die überhaupt auf dem Rechner habe - keine Ahnung mehr.

Dachte eigentlich anhand der Fehlermeldung könnte mir ein Profi sagen was ich wo einbinden muss. Aber wie schon gesagt, ich finde noch nicht einmal eine CTGR.obj datei bei mir. Hast Du die Datei ??
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Link Problem

Beitrag von Manfred »

Hi,

nein, ich besitze nur noch die deutschen Handbücher der Tools. Ansonsten habe ich alles in die Tonne gehauen. Ich habe meine Programme umgestrickt, oder neu gemacht. Deshalb ist alles Alte für mich nicht mehr relevant. Vor 2 Jahren, hättest Du noch Glück gehabt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

Danke Dir einstweilen, vielleicht findet sich ja noch einer (Tom ????????!!!!!!!!! :roll: ) der mir irgendwie weiterhelfen kann.

Grüsse
Ralf
Benutzeravatar
Hans Zethofer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 278
Registriert: Fr, 27. Jan 2006 8:29
Wohnort: 2700 Wiener Neustadt
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von Hans Zethofer »

Hallo

ich glaube ziemlich sicher das dir die CT52.LIB oder für den Proteced Mode die CTP52.LIB fehlt
(diese sind die letzten Updates der CA-Tools) Siehe auch Textfile im Anhang.

lg
Hans
Dateianhänge
CT_README.1ST.TXT
(1.63 KiB) 228-mal heruntergeladen
_____________
lg
Hans
visionbrasil
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Do, 30. Okt 2008 0:26

Re: Link Problem

Beitrag von visionbrasil »

Die habe ich !!!!

Aber was hat dies nun mit obj. zu tun ? Kann doch beim linken nur obj. einbinden und keine .lib - oder?
Oder muss ich da schon was beim compilieren einbinden?

Wie würde denn dann der Aufruf von clipper bzw rtlink lauten?
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12909
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 46 Mal

Re: Link Problem

Beitrag von AUGE_OHR »

hi,
visionbrasil hat geschrieben: Habe ja jetzt Vers. 5.2c + CATOOLS auf dem Rechner.
...
Aber beim Linken kommen Fehler. Weis noch dass ich da irgendwelche .OBJ. Dateien einbinden musste ..... aber welche ?????

rtlink fi menu.obj

Hier mal die Fehlerliste. Kannst Du mir noch einmal helfen ?!?
-------------------------------------
UNDEFINED SYMBOL(S) AFTER LIBRARY SEARCH:
SYMBOL FIRST REFERENCE
------ ---------------
'KEYSEC' MENU.OBJ
'SPOOLACTIV' MENU.OBJ
'SHOWTIME' MENU.OBJ
'WACLOSE' MENU.OBJ
'WSELECT' MENU.OBJ
'RANDOM' MENU.OBJ
'MILLISEC' MENU.OBJ
'WSETSHADOW' MENU.OBJ
'SETBOXGROW' MENU.OBJ
'WOPEN' MENU.OBJ
'WBOX' MENU.OBJ
'WCLOSE' MENU.OBJ
'DSPERREN' MENU.OBJ

warning wrt0022: .EXE may not execute properly -- undefined symbols
317K
1 warning message(s)
Die meisten Function (W**** ) sind aus den CA-Tools. Dazu musst du die LIB mit einbinden.

Code: Alles auswählen

rtlink fi menu.obj LIB CT.LIB
v5.2c ist aber auch nicht die "lates" Version ... v5.2e war die letzte vor v5.3
visionbrasil hat geschrieben: CTGR.obj
die *.OBJ sollte ebenfalls zu den CA-Tools gehören
visionbrasil hat geschrieben: MSGGER.OBJ
NTXGER.OBJ
die gehören zu Cl*pper und sind aus der NAT_OBJ.EXE und werden mit NATION.BAT extrahiert
und hatten was mit "Umlauten" etc. zu tun.

... aber wie auch schon bei v5.2c -> v5.2e gab es noch Patches ... auch für die CA-Tools ...

Frage: Du schreibt ja hier im Xbase++ Forum, also warum nicht den Code nicht gleich mit Xbase++

falls du, aus welchen Grund auch immer, bei Cl*pper bleiben musst hier ein Source womit man
*.RMK / *.LNK "generieren" kann. Es nimmt alle *.PRG im Verzeichniss für das Script
Das ganze wurde für Blinker geschrieben.

Code: Alles auswählen

*:*********************************************************************
*:        Program: D:\WORK\MAKE5IT\MAKE5IT.PRG
*:         System: Make5it
*:         Author: Jimmy Yiu
*:  Last modified: 20/10/91      0:53
*:
*:    Other Files: &LINK_FILE
*:               : &MAKE_FILE
*:               : -.BAT
*: ┌──────────────────────────────────────────────────────────────────────────┐
*: │███▓▓▓▒▒▒░░░                                                  ░░░▒▒▒▓▓▓███│
*: │███▓▓▓▒▒▒░░░                   Auge & Ohr                     ░░░▒▒▒▓▓▓███│
*: │███▓▓▓▒▒▒░░░                   Yiu - Software                 ░░░▒▒▒▓▓▓███│
*: │███▓▓▓▒▒▒░░░                                                  ░░░▒▒▒▓▓▓███│
*: └──────────────────────────────────────────────────────────────────────────┘
*:
*:      Documented 20.10.91 at 02:24                SNAP!  version 4.97
*:*********************************************************************
PARAMETERS raw_file
if iscolor()
 setcolor("W+/b")
else
 setcolor("w+/n")
endif

IF PCOUNT() <> 1
   CLEAR
TEXT
Original by :
-------------
Program: MAKEIT.PRG    Extensively modified from FASTCLIP.PRG by
 Author: Kevin Talbot  Author: David P. Mezler   Author: Jimmy Yiu
 Source: AAP476        Source: BFJ279            Source: Make5it
 CompuS: 75706,316     CompuS: 71340,3310        CompuS: none
   Date: 10/22/88       Genie: XTH61688            Date: 20.10.1991
                         Date: 3/20/1988                 20.10.1992
 Description:
   This program completely automates the tedious (and error prone) creation
   of the LNK and RMK files for use with the Clipper compiler and the companion
   linker and make programs. For Clipper V 5.0x is NOT able to compile more
   than one File, THIS Program NOW use ALL Files with the Extention ".PRG"
   in THIS Directory to sniff out all the module names in your application.
   To properly run this program, run the MAKEME.BAT batch file by typing
   "MAKEME <file>" where <file> is the name of the "top" PRG file, i.e.
   the name you want for the EXE file.
   The output from MAKE5IT.EXE consists of three files:
      <file>.RMK   The "rmake" file for use my Nantucket"s RMAKE.EXE
      <file>.LNK   The "link" file for use by the liner (Tlink here)
      -.BAT        A batch file that will call the make utility (I get so
                   tired of typing "make myfile.mak". I like typing just "-".)
ENDTEXT
   WAIT
   CLEAR
   TEXT
 Note:
   If you are not using the Blinker linker from BLink Inc.,
   edit this file to create a .lnk file compatable to the linker you
   are using.

   This set of programs expects the linker and Clipper are available
   through a dos path.  This file expects 5.0x versions clipper.

              ******* Warning  *********
   Make sure the file names created by this program do not trash files
   of the same names. I am not responsible for disasters.  Use at your own
   risk.


   ENDTEXT
   WAIT
   QUIT
ENDIF (pcount() <> 1)
raw_file  = UPPER(TRIM(raw_file))
prg_file  = raw_file + ".PRG"
make_file = raw_file + ".RMK"
link_file = raw_file + ".LNK"
IF .NOT. FILE("&prg_file")
   CLEAR
   @ 10,10 SAY "File " + prg_file + ".PRG does not exist"
   QUIT
ENDIF (.not. file("&prg_file"))
dir_what  = "*"
dir_ext   = ".PRG"
dir_such  = ALLTRIM(dir_what)+ALLTRIM(dir_ext)
DECLARE dat_text[adir("&dir_such")],dat_byte[adir("&dir_such")],dat_date[adir("&dir_such")]
AFILL(dat_text," ")
AFILL(dat_byte," ")
AFILL(dat_date," ")
ADIR("&dir_such*",dat_text,dat_byte,dat_date)
m_rec = LEN(dat_text)
IF m_rec = 0
   QUIT
ENDIF (m_rec = 0)

set date german
set century on
mdatum = dtoc(date())

set date ansi
set epoch to 1960
*set format to "yyyy.mm.dd"
mSernummer = dtoc(date())

?
? "Creating 'lnk' file...."
SET ALTERNATE TO &link_file
SET ALTERNATE ON
? "# For final links - UN-COMMENT the following command:"
? "#"
? "#BLINKER INCREMENTAL OFF"
? "#"
? "# Burn in your own Clipper variables here eg: F25;SWAPPATHC:\;"
? "BLINKER EXECUTABLE CLIPPER R016;E000;V020;F25;SWAPPATHC:\;"
? "#"
? "# Wink with the left Eye"
? "#BLINKER MESSAGE WINK left"
? "#"
? "# Memory Pool Pack S87 ???"
? "#BLINKER MEMORY PACK 4"
? "#"
? "# Normal Overlay Opsize is 40, look at your OpSize at Link"
? "#BLINKER OVERLAY OPSIZE 40"
? "#"
? "# Tree Depth of 20 Procedure is default"
? "#BLINKER PROCEDURE DEPTH 20"
? "#"
? "# High Ram Options"
? "#BLINKER OVERLAY FIXED"
? "BLINKER OVERLAY UMB OFF"
? "#BLINKER OVERLAY PAGEFRAME ON"
? "#"
? "# Init Seriel Number for Blinker"
? "# Routine to calculate Number from Date"
? "# Möglichkeit z.B. " + mSernummer
? "#"
? "#BLINKER EXECUTABLE SERIAL 19910213 5 Auge & Ohr  "
? "# Demo Modus"
? "#BLINKER DEMONSTRATION CALLS 4999"
? "#BLINKER DEMONSTRATION MINUTES 5"
? "BLINKER DEMONSTRATION DATE 1999/12/30"
? "# "
? "# Error send to Screen = 1"
? "BLINKER DEBUG HANDLE 1 "
? "# "
? "# Specify the EXE filename here:"
? "OUTPUT " + raw_file
? "#"
? "# <MAIN Clipper routine>"
? "FILE " + raw_file
? "#"
? "# Create MAP"
? "#MAP = JOB_MAP S"
? "#"
? "# Look what Blinker is doing at Link"
? "#VERBOSE"
? "#"
? "# This is for Blink PROFILER, NOT the Debugger File"
? "#DEBUG"
? "#"
? "# Uncomment and list your 3rd party non overlayable object modules here"
? "# eg: OVERLAY's RESIDENT.OBJ"
? "#"
? "#FILE <3rd party1>,<3rd party2>"
? "#"
? "#Dr. Switch ASE"
? "#FILE ASEHEAD"
? "#FUNCky II"
? "#SEARCH ROOTVM"

IF m_rec = 1
ELSE
   ? "BEGINAREA"
   ? ""
   ? "   #Dr. Switch ASE"
   ? "   #FILE ASE2FIX"

   FOR i = 1 TO m_rec
      mtext = dat_text[i]
      mposi = AT(".PRG",mtext) -1
      mtext = SUBSTR(mtext,1,mposi)
      IF mtext $ raw_file
      ELSE
         ? "   FILE " + mtext
      ENDIF (mtext $ raw_file)
   NEXT (i)
   ? "   #"
   ? "   # UNCOMMENT and list your own Clipper code libraries here"
   ? "   #"
   ? "   #    ALLOCATE <my library>"
   ? "   #    ALLOCATE <my other library>"
   ? "   #"
   ? "   # UNCOMMENT and list your overlayable 3rd party libraries here"
   ? "   #"
   ? "   #    ALLOCATE <3rd party>"
   ? "   #    ALLOCATE <3rd party>"
   ? "ENDAREA"
ENDIF (m_rec = 1)
? "#"
? "# UNCOMMENT and list 3rd party non-overlayable libraries here:"
? "#"
? "#LIB <3rd party>"
? "#"
? "# If you want the 5.01 debugger UN-COMMENT the following:"
? "# NOTE: The 5.01 debugger library MUST be specified as a FILE"
? "#"
? "# FILE CLD.LIB"
? "#"
? "# UNCOMMENT for dLESKO's FUNCky 2.x library"
? "#"
? "#@j:\FUNCKY2x.LNK"
? "#"
? "# Call the distribution script to overlay EXTEND.LIB"
? "#"
? "@j:\CL501MIN.LNK"
? "#"
? "# Microsoft LLIBCA C library comes last if needed"
? "#"
? "# LIB LLIBCA"
CLOSE ALTERNATE

? ""
? "Creating 'RMK' file...."
SET ALTERNATE TO &make_file
SET ALTERNATE ON
? ""
? "// Create by MAKE5IT.EXE modification vor Clipper 5.0x & Blinker V2.0x,"
? "// by YiuSoftware, Inh. Shung Yang YIU, Siemensstrasse 14, 2056 Glinde "
? "//"
? "// Date " + mdatum + " " + time()
? "//"
? "//MAKEPATH[.PRG]='d:\???\work\' "
? "//MAKEPATH[.OBJ]=???"
? "//MAKEPATH[.EXE]=???"
? ""
? "// PRG / OBJ dependencies ...."
? ".PRG.OBJ:"
? "  CLIPPER $* -m -B -tf: -of:"
? ""
? "// Marcos ..."
per_line = 6
FOR LINE = 0 TO 999
   ? "files" + LTRIM(STR(LINE,3)) + "="
   FOR i = 1 TO per_line
      indx = i + (LINE * per_line)
      mtext = dat_text[indx]
      mposi = AT(".PRG",mtext) -1
      mtext = SUBSTR(mtext,1,mposi)
*     IF mtext $ raw_file
*     ELSE
         ?? mtext + ".OBJ "
*     ENDIF (mtext $ raw_file)
      IF indx >= m_rec
         EXIT
      ENDIF (indx >= m_rec)
   NEXT (i)
   IF indx >= m_rec
      num_macros = LINE
      EXIT
   ENDIF (indx >= m_rec)
NEXT (line)
? ""
? "// OBJ : PRG dependencies ...."

FOR i = 1 TO m_rec
   mtext = dat_text[i]
   mposi = AT(".PRG",mtext) -1
   mtext = SUBSTR(mtext,1,mposi)
   ? mtext + ".OBJ" + SPACE(15 - LEN(mtext)) + ": " + mtext + ".PRG"
NEXT (i)
? ""
? "// EXE dependencies ...."
? raw_file + ".EXE: "
FOR i = 0 TO num_macros
   ?? "$(files" + LTRIM(STR(i,2)) + ") "
NEXT (i)
? " Blinker @"+link_file
? ""
? "//"
? "// Eof"
? "//"
CLOSE ALTERNATE

? ""
? "Creating '-.BAT' file...."
SET ALTERNATE TO -.bat
? "echo off"
? "echo '-.bat' now executing to Rmake " + raw_file + ".EXE ...."
? "Rmake " + raw_file + ".Rmk"
? ""
CLOSE ALTERNATE

? ""
? "All done! You should now just be able to type '-' to invoke the '-.BAT'"
? "file to call the make utility and rebuild your application."
? ""
? ""
QUIT

*=-=-=-=-=-=-=-=-=-=-=-=- eof makeit.prg -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
*: EOF: MAKE5IT.PRG
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14655
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von Jan »

Jimmy,
Jimmy hat geschrieben:Frage: Du schreibt ja hier im Xbase++ Forum, also warum nicht den Code nicht gleich mit Xbase++
genau das hab ich mich gestern auch gefragt...
Wobei natürlich so manche Sachen dann massiv überarbeitet werden müssten. Denn die ganzen W... - Sachen dürften unter Xbase++ nicht mehr laufen, oder? Das wäre sicher ersteinmal ein Hinderungsgrund. Wobei sich der Umstieg allemal lohnt!

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21194
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Link Problem

Beitrag von Manfred »

Jan

die ganze W.. Sache läuft unter Xbase++. Es muß nur ein WINIT() an den Anfang der Applikation gesetzt werden
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14655
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Link Problem

Beitrag von Jan »

Manfred,

ahhh so :thumbup: :!: .

Ich hab nie mit den W... - Sachen unter Clipper gearbeitet. Deswegen mußte ich damit auch nicht rumfuhrwerken nach meinem Umstieg nach Xbase++.

Wobei das bei mir trotz der von Dir angesprochenen Funktion ohnehin nicht gegangen wäre, da ich direkt auf GUI umgestiegen bin, ohne Umwege über CRT oder Hybrid. Meine ganzen schönen mühsam selber zusammengeschriebenen Fensterfunktion sind dabei den Weg allen irdischens gegangen :crybaby:

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten