Erste Gehversuche mit ALink aus XBase++
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Erste Gehversuche mit ALink aus XBase++
Ich hatte Euch ja hier berichtet, dass ich meine alten Clipper Sourcen mittlerweile und soweit fehlerfrei mit Xbase compillieren kann. Wohl gemerkt, ich erzeuge mit der alten Make-Datei und gleicher Struktur die OBJecte, genau wie damals mit dem alten Clipper.... das sollte soweit auch passen.
Jetzt habe ich mir mal die Schalter von ALink angesehen. Okay, einige Option/Schalter/Namen passen i.V. mit dem früher verwendeten RTLink, der Großteil aber nicht.
Desweiteren, wegen des früheren RAM Mangel unter DOS, hatte ich insgesamt 54 Overlays erzeugt (+ 640KB RAM Swapping eingbaut) damit die gesamte Applikation überhaupt in dem Fingerhut großen DOS Speicher zum runnen kam .... Ihr wisst schon was ich genau meine.
Ich hatte es früher, so wie die meisten, eine *.LNK Steuerdatei die dem Linker verklicker hat, was er machen sollte wie z.B.
RTLink @Linkmalwas.LNK d.h. hier strukturell kurz angerissen:
FILE NxMax,
SaamMenu,
HlpMain,
SaamFunc
OUTPUT \Nexus\SaaNxMax
MAP=\Clipper\Log\SaaNxMax
LIBRARY OVERCL,
NEXUS,
CLIPPER,
DBFNTX,
NT250
OVERLAY CODE
BEGINAREA
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0100.ovl FILE SaamUp
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0200.ovl FILE NxMaxDSP
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0300.ovl FILE Bar1
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0400.ovl FILE Verka1
BEGINAREA
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0410.ovl FILE Verka14,Verka18
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0420.ovl FILE VerkOSF1
ENDAREA
.....
.....
.....
ENDAREA
Ich habe mich schon wund gegoogelt und auch bei Alaska gestöbert. Nirgends finde ich eine Beschreibung oder ein HowTo, was die Optionswitches bei ALink genau machen bzw. wie man sie genau anwendet und ... ob der ALinker überhaupt Overlays kann.
So, das zum Thema erste Schritte mit dem ALinker, die mir einfach nicht gelingen wollen. Vielleicht stelle ich mich auch nur dumm an, oder ralle das momentan nicht mehr, nach der langen progging Session, die ich seit gestern ca. 20:00 Uhr abhalte. Vielleicht gibt´s gleich noch Ärger mit der Frau.
Bin also für jeden Hinweis/Tipp/Link usw. dankbar ... eventuell auch eine kleine Demo-Steuerdatei für den Kollege ALink aus Xbase.
Jetzt habe ich mir mal die Schalter von ALink angesehen. Okay, einige Option/Schalter/Namen passen i.V. mit dem früher verwendeten RTLink, der Großteil aber nicht.
Desweiteren, wegen des früheren RAM Mangel unter DOS, hatte ich insgesamt 54 Overlays erzeugt (+ 640KB RAM Swapping eingbaut) damit die gesamte Applikation überhaupt in dem Fingerhut großen DOS Speicher zum runnen kam .... Ihr wisst schon was ich genau meine.
Ich hatte es früher, so wie die meisten, eine *.LNK Steuerdatei die dem Linker verklicker hat, was er machen sollte wie z.B.
RTLink @Linkmalwas.LNK d.h. hier strukturell kurz angerissen:
FILE NxMax,
SaamMenu,
HlpMain,
SaamFunc
OUTPUT \Nexus\SaaNxMax
MAP=\Clipper\Log\SaaNxMax
LIBRARY OVERCL,
NEXUS,
CLIPPER,
DBFNTX,
NT250
OVERLAY CODE
BEGINAREA
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0100.ovl FILE SaamUp
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0200.ovl FILE NxMaxDSP
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0300.ovl FILE Bar1
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0400.ovl FILE Verka1
BEGINAREA
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0410.ovl FILE Verka14,Verka18
SECTION INTO \PRO_C\Nexus\SAAneu\NxMa0420.ovl FILE VerkOSF1
ENDAREA
.....
.....
.....
ENDAREA
Ich habe mich schon wund gegoogelt und auch bei Alaska gestöbert. Nirgends finde ich eine Beschreibung oder ein HowTo, was die Optionswitches bei ALink genau machen bzw. wie man sie genau anwendet und ... ob der ALinker überhaupt Overlays kann.
So, das zum Thema erste Schritte mit dem ALinker, die mir einfach nicht gelingen wollen. Vielleicht stelle ich mich auch nur dumm an, oder ralle das momentan nicht mehr, nach der langen progging Session, die ich seit gestern ca. 20:00 Uhr abhalte. Vielleicht gibt´s gleich noch Ärger mit der Frau.
Bin also für jeden Hinweis/Tipp/Link usw. dankbar ... eventuell auch eine kleine Demo-Steuerdatei für den Kollege ALink aus Xbase.
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Rolf,
In der Hilfe ist doch alles beschrieben. Oder was meinst Du jetzt?
In der Hilfe ist doch alles beschrieben. Oder was meinst Du jetzt?
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!!
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!!
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Was genau für Hilfe meinst Du Manfred? Ich habe alles durchstöbert, aber nix gefunden. Bedenke, ich habe nur die 1.9 Build 331 Demo-Version. Ich kann nirgend was finden, was mir die Linkersteuerung näher/genauer erklärt.
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- Manfred
- Foren-Administrator
- Beiträge: 21192
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Hi Rolf,
irgendwie meine ich mich erinnern zu können, das auch die Demoversionen damals alles so installiert haben, wie es die Originalversionen tun. D.h. es wird auf LW C:/ installiert im Verzeichnis Alaska. Dort gibt es Unterverzeichnisse XPPW32 für den Compiler selbst und XBTW32 für die Tools.
Unter XPPW32 gibt es weitere Unterverzeichnisse:
BIN, in dem der Compiler und der Rest an Programmen steht
BOOK, in dem XPPREF.HLP steht. <- Das ist die Anleitung, in der alles mehr oder weniger erklärt wird.
Gibt es dass bei Dir nicht? Wie hast Du dann die Demo installiert?
Ach so, noch etwas: Die Tools3 sind identisch mit denen die damals beim Clipper dabei waren. Bis auf ein paar Dinge, die unter Windows so nicht gehen, oder anders geregelt werden.
irgendwie meine ich mich erinnern zu können, das auch die Demoversionen damals alles so installiert haben, wie es die Originalversionen tun. D.h. es wird auf LW C:/ installiert im Verzeichnis Alaska. Dort gibt es Unterverzeichnisse XPPW32 für den Compiler selbst und XBTW32 für die Tools.
Unter XPPW32 gibt es weitere Unterverzeichnisse:
BIN, in dem der Compiler und der Rest an Programmen steht
BOOK, in dem XPPREF.HLP steht. <- Das ist die Anleitung, in der alles mehr oder weniger erklärt wird.
Gibt es dass bei Dir nicht? Wie hast Du dann die Demo installiert?
Ach so, noch etwas: Die Tools3 sind identisch mit denen die damals beim Clipper dabei waren. Bis auf ein paar Dinge, die unter Windows so nicht gehen, oder anders geregelt 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!!
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!!
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Die Subs stimmen bei mir überein, wie von Dir beschrieben. Ich habe das Teil nur auf einer aderen Platte, ist aber wurscht, weil ich die Path-Angaben alle manuell via BATch steuer d.h. entweder auf Clipper5.2 oder auf Xbase. Löppt ja auch alles prima und das ist nicht mein Problem.
Auch die vorhandenen Hilfen habe ih gelesen und durchstöbert. Dort gbt es zwar Compiler und Linker Fehlermeldungen, aber ich finde keine genaue Beschreibung der Schalter/Optionen des ALINK d.h. wie ich den mit einer XYZ.LNK Datei steuer, so wie früher den RTLINK.
Der ALink startet zwar auf, bricht aber sofort ab mit
ALINK: fatal error ALK4001: cannot open file "#================================.obj"
weil in der *.LNK Datei noch einiges Schalter/Optionen angepasst werden müssen. Und genau DAS fehlt mir nämlich die genau Anwendung der Schalter/Optionen des ALINK. Diese hier aus ALINK:
Alaska 32-Bit Linker Version 1.90.331
usage: ALINK [options] [files] [@commandfile]
options:
/BASE:address
/DE[BUG]
/DEFAULTLIB:library
/DLL
/FORCE:{MULTIPLE|UNRESOLVED}
/HELP or /?
/MAP[:filename]
/NOD[EFAULTLIB][:library]
/NOL[OGO]
/OUT:filename
/PM[TYPE]:{PM|VIO}
/ST[ACK]:max[,min]
/SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.##]]
/VERBOSE
/VERSION:#[.#]
Der frühere RTLink für den Clipper 5.x hatte diese Switches mit folgenden Erklärungen:
.RTLink for Clipper Dynamic Overlay Linker / Pre-Linker Version 3.14B
(C) Copyright Pocket Soft Inc., 1988-1991. All Rights Reserved.
FREEFORMAT syntax:
RTLINK [FILE <objFile list> [OUTPUT <outputFile>]
[LIBRARY [<libFile list>] [<linkOption list>]] | [@<scriptFile>]
POSITIONAL syntax:
RTLINK [<objFile list>, [<outputFile>], [<mapFile>],
[<libFile list>] [<linkOption list>]] | [@<scriptFile>][;]
If used without arguments, .RTLink enters prompt mode.
<objFile list> is a list of object (.OBJ) files to link.
<outputFile> is the name of the file (.EXE or .PLL/.PLT) to be generated.
<mapFile> is the name of a map (.MAP) file to generate.
<libFile list> is the list of library (.LIB) files to search.
<linkOption list> is a list one or more linker options described below.
<scriptFile> is the name of a linker script (.lnk) file.
For many options, two syntaxes are given and the correct one depends on the
input mode used. Specifying options in POSITIONAL mode requires the option
to begin with a forward slash (if no forward slash is included in the syntax,
the option is allowed only in FREEFORMAT). FREEFORMAT mode allows you to use
either syntax, and where there is only one syntax representation it allows
you to omit both the slash and the colon.
Configuration Options
/FREEFORMAT | /POSITIONAL
Configures the linker interface to FREEFORMAT or POSITIONAL input mode when
.RTLink switches to a new input stream. /FREEFORMAT is default input mode.
/FREEFORMAT and /POSITIONAL are special configuration options that may only
be specified as part of the RTLINKCMD environment variable, within
RTLINK.CFG, or on the RTLINK command-line if you are linking with a script
file. The forward slash is required regardless of the current input mode.
Dynamic Overlay Options
/DYNAMIC[:<ovlFile>]
DYNAMIC [INTO <ovlFile>]
DYNAMIC forces the linker to place any subsequent Clipper-compiled modules
into a dynamic overlay instead of placing the module in the root section.
The <ovlFile> causes .RTLink to generate an external overlay (.OVL) file. If
not specified, the overlay code is written to the .EXE file. DYNAMIC is the
opposite of RESIDENT and is the default mode.
/RESIDENT
Causes subsequent Clipper-compiled modules to be loaded into the root section
of the current program, overriding the automatic creation of dynamic overlays
for all Clipper-compiled code. RESIDENT is the opposite of DYNAMIC.
Help and Debugging Options
/DEBUG
Causes the .RTLink overlay manager to display a message that identifies each
overlay as it is loaded into memory during program execution.
/HELP
Lists the linker options to the console.
/MAP[:<mapOption list>]
MAP [= <mapFile>] [<mapOption list>]
Generates a map file containing one or more reports about the link session.
The available MAP options are S to report segments with assigned addresses, N
to report public symbols with addresses sorted by symbol, and A to report
public symbols with addresses sorted by address.
Help and Debugging Options (continued)
/SILENT
Suppresses the display of the linker prompts and responses when .RTLink is
invoked with a script file.
/VERBOSE[:<level>]
Causes .RTLink to display status messages during linking indicating the
modules being linked and in what order. <level> specifies the amount of
information to display (0, 1, or 2).
Incremental Linking Options
/INCREMENTAL[:<wastedSpace>] | /NOINCREMENTAL
INCREMENTAL enables incremental linking of Clipper-compiled modules. When a
program is linked, only modules that have changed are re-linked.
<wastedSpace> is a numeric parameter that controls the percentage of wasted
space allowed in the .EXE file that .RTLink will tolerate before re-linking
the entire application. Use of the INCREMENTAL option causes .RTLink to
generate and maintain an information (.inf) file. NOINCREMENTAL is the
default.
Miscellaneous Options
/BATCH | /NOBATCH
BATCH prevents the linker from prompting you when it is unable to locate a
file. NOBATCH is the default.
/DEFAULTLIBRARYSEARCH | /NODEFAULTLIBRARYSEARCH
NODEFAULTLIBRARYSEARCH causes .RTLink to ignore any library names embedded by
the compiler. Clipper automatically embeds CLIPPER.LIB, EXTEND.LIB, and
DBFNTX.LIB in all of the .OBJ files that it generates unless you change the
default using the /R compiler option. DEFAULTLIBRARYSEARCH is the default.
/EXTDICTIONARY | /NOEXTDICTIONARY
/NOEXTDICTIONARY causes the linker not to search the extended dictionary.
/EXTDICTIONARY is the default.
Miscellaneous Options (continued)
/IGNORECASE | /NOIGNORECASE
NOIGNORECASE causes case to be significant in symbol and segment names.
IGNORECASE is the default.
/STACK:<sizeBytes>
Specifies a program stack overriding the stack size specified in the object
module. <sizeBytes> is a numeric values up to 65,535.
Pre-link Options
/EXCLUDE:<symbol>
EXCLUDE <symbol list>
In pre-link mode (PRELINK linker option specified), causes any module
defining the specified symbol(s) to be excluded from the link.
/PLL:<prelinkLib>
Used in link mode to specify a pre-linked library file that the resulting
executable file depends on. This option may also be used in pre-link mode in
order to create a pre-linked library that depends on another pre-linked
library; however, this nesting of pre-linked libraries is allowed only one
level deep.
Pre-link Options (continued)
/PRELINK
Changes .RTLink to pre-link mode. In this mode .RTLink generates two output
files, a pre-linked library (.PLL) and a pre-linked transfer (.PLT) file,
instead of an executable (.EXE) file.
/REFER:<symbol>
REFER <symbol list>
In pre-link mode, forces .RTLink to search all specified libraries in order
to load the necessary code associated with the specified symbols.
Static Overlay Options
BEGINAREA
.
. <linker freeformat options>
.
ENDAREA
Designates a static overlay area with all sections specified between these
two commands becoming static overlay sections within the overlay area.
Static overlay areas may be nested by specifying a BEGINAREA...ENDAREA
construct inside of another.
MODULE <moduleName list>
Moves the segments from the specified modules into the current static overlay
section.
Static Overlay Options (continued)
PRELOAD
Causes the current static overly section to be loaded into memory before the
program begins execution. Normally, only the resident sections of the
program are loaded into memory before execution begins.
SECTION [= <sectionName>] [INTO <ovlFile>]
Creates a static overlay section, and causes segments within any non-Clipper
object modules specified in subsequent FILE or LIBRARY options to become a
part of that section. The <ovlFile> causes .RTLink to generate an external
overlay (.OVL) file. If not specified, the overlay code is written to the
.EXE file
Und genau so etwas wie oben vom RTLink suche ich für den ALINK aus XBase.
Auch die vorhandenen Hilfen habe ih gelesen und durchstöbert. Dort gbt es zwar Compiler und Linker Fehlermeldungen, aber ich finde keine genaue Beschreibung der Schalter/Optionen des ALINK d.h. wie ich den mit einer XYZ.LNK Datei steuer, so wie früher den RTLINK.
Der ALink startet zwar auf, bricht aber sofort ab mit
ALINK: fatal error ALK4001: cannot open file "#================================.obj"
weil in der *.LNK Datei noch einiges Schalter/Optionen angepasst werden müssen. Und genau DAS fehlt mir nämlich die genau Anwendung der Schalter/Optionen des ALINK. Diese hier aus ALINK:
Alaska 32-Bit Linker Version 1.90.331
usage: ALINK [options] [files] [@commandfile]
options:
/BASE:address
/DE[BUG]
/DEFAULTLIB:library
/DLL
/FORCE:{MULTIPLE|UNRESOLVED}
/HELP or /?
/MAP[:filename]
/NOD[EFAULTLIB][:library]
/NOL[OGO]
/OUT:filename
/PM[TYPE]:{PM|VIO}
/ST[ACK]:max[,min]
/SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.##]]
/VERBOSE
/VERSION:#[.#]
Der frühere RTLink für den Clipper 5.x hatte diese Switches mit folgenden Erklärungen:
.RTLink for Clipper Dynamic Overlay Linker / Pre-Linker Version 3.14B
(C) Copyright Pocket Soft Inc., 1988-1991. All Rights Reserved.
FREEFORMAT syntax:
RTLINK [FILE <objFile list> [OUTPUT <outputFile>]
[LIBRARY [<libFile list>] [<linkOption list>]] | [@<scriptFile>]
POSITIONAL syntax:
RTLINK [<objFile list>, [<outputFile>], [<mapFile>],
[<libFile list>] [<linkOption list>]] | [@<scriptFile>][;]
If used without arguments, .RTLink enters prompt mode.
<objFile list> is a list of object (.OBJ) files to link.
<outputFile> is the name of the file (.EXE or .PLL/.PLT) to be generated.
<mapFile> is the name of a map (.MAP) file to generate.
<libFile list> is the list of library (.LIB) files to search.
<linkOption list> is a list one or more linker options described below.
<scriptFile> is the name of a linker script (.lnk) file.
For many options, two syntaxes are given and the correct one depends on the
input mode used. Specifying options in POSITIONAL mode requires the option
to begin with a forward slash (if no forward slash is included in the syntax,
the option is allowed only in FREEFORMAT). FREEFORMAT mode allows you to use
either syntax, and where there is only one syntax representation it allows
you to omit both the slash and the colon.
Configuration Options
/FREEFORMAT | /POSITIONAL
Configures the linker interface to FREEFORMAT or POSITIONAL input mode when
.RTLink switches to a new input stream. /FREEFORMAT is default input mode.
/FREEFORMAT and /POSITIONAL are special configuration options that may only
be specified as part of the RTLINKCMD environment variable, within
RTLINK.CFG, or on the RTLINK command-line if you are linking with a script
file. The forward slash is required regardless of the current input mode.
Dynamic Overlay Options
/DYNAMIC[:<ovlFile>]
DYNAMIC [INTO <ovlFile>]
DYNAMIC forces the linker to place any subsequent Clipper-compiled modules
into a dynamic overlay instead of placing the module in the root section.
The <ovlFile> causes .RTLink to generate an external overlay (.OVL) file. If
not specified, the overlay code is written to the .EXE file. DYNAMIC is the
opposite of RESIDENT and is the default mode.
/RESIDENT
Causes subsequent Clipper-compiled modules to be loaded into the root section
of the current program, overriding the automatic creation of dynamic overlays
for all Clipper-compiled code. RESIDENT is the opposite of DYNAMIC.
Help and Debugging Options
/DEBUG
Causes the .RTLink overlay manager to display a message that identifies each
overlay as it is loaded into memory during program execution.
/HELP
Lists the linker options to the console.
/MAP[:<mapOption list>]
MAP [= <mapFile>] [<mapOption list>]
Generates a map file containing one or more reports about the link session.
The available MAP options are S to report segments with assigned addresses, N
to report public symbols with addresses sorted by symbol, and A to report
public symbols with addresses sorted by address.
Help and Debugging Options (continued)
/SILENT
Suppresses the display of the linker prompts and responses when .RTLink is
invoked with a script file.
/VERBOSE[:<level>]
Causes .RTLink to display status messages during linking indicating the
modules being linked and in what order. <level> specifies the amount of
information to display (0, 1, or 2).
Incremental Linking Options
/INCREMENTAL[:<wastedSpace>] | /NOINCREMENTAL
INCREMENTAL enables incremental linking of Clipper-compiled modules. When a
program is linked, only modules that have changed are re-linked.
<wastedSpace> is a numeric parameter that controls the percentage of wasted
space allowed in the .EXE file that .RTLink will tolerate before re-linking
the entire application. Use of the INCREMENTAL option causes .RTLink to
generate and maintain an information (.inf) file. NOINCREMENTAL is the
default.
Miscellaneous Options
/BATCH | /NOBATCH
BATCH prevents the linker from prompting you when it is unable to locate a
file. NOBATCH is the default.
/DEFAULTLIBRARYSEARCH | /NODEFAULTLIBRARYSEARCH
NODEFAULTLIBRARYSEARCH causes .RTLink to ignore any library names embedded by
the compiler. Clipper automatically embeds CLIPPER.LIB, EXTEND.LIB, and
DBFNTX.LIB in all of the .OBJ files that it generates unless you change the
default using the /R compiler option. DEFAULTLIBRARYSEARCH is the default.
/EXTDICTIONARY | /NOEXTDICTIONARY
/NOEXTDICTIONARY causes the linker not to search the extended dictionary.
/EXTDICTIONARY is the default.
Miscellaneous Options (continued)
/IGNORECASE | /NOIGNORECASE
NOIGNORECASE causes case to be significant in symbol and segment names.
IGNORECASE is the default.
/STACK:<sizeBytes>
Specifies a program stack overriding the stack size specified in the object
module. <sizeBytes> is a numeric values up to 65,535.
Pre-link Options
/EXCLUDE:<symbol>
EXCLUDE <symbol list>
In pre-link mode (PRELINK linker option specified), causes any module
defining the specified symbol(s) to be excluded from the link.
/PLL:<prelinkLib>
Used in link mode to specify a pre-linked library file that the resulting
executable file depends on. This option may also be used in pre-link mode in
order to create a pre-linked library that depends on another pre-linked
library; however, this nesting of pre-linked libraries is allowed only one
level deep.
Pre-link Options (continued)
/PRELINK
Changes .RTLink to pre-link mode. In this mode .RTLink generates two output
files, a pre-linked library (.PLL) and a pre-linked transfer (.PLT) file,
instead of an executable (.EXE) file.
/REFER:<symbol>
REFER <symbol list>
In pre-link mode, forces .RTLink to search all specified libraries in order
to load the necessary code associated with the specified symbols.
Static Overlay Options
BEGINAREA
.
. <linker freeformat options>
.
ENDAREA
Designates a static overlay area with all sections specified between these
two commands becoming static overlay sections within the overlay area.
Static overlay areas may be nested by specifying a BEGINAREA...ENDAREA
construct inside of another.
MODULE <moduleName list>
Moves the segments from the specified modules into the current static overlay
section.
Static Overlay Options (continued)
PRELOAD
Causes the current static overly section to be loaded into memory before the
program begins execution. Normally, only the resident sections of the
program are loaded into memory before execution begins.
SECTION [= <sectionName>] [INTO <ovlFile>]
Creates a static overlay section, and causes segments within any non-Clipper
object modules specified in subsequent FILE or LIBRARY options to become a
part of that section. The <ovlFile> causes .RTLink to generate an external
overlay (.OVL) file. If not specified, the overlay code is written to the
.EXE file
Und genau so etwas wie oben vom RTLink suche ich für den ALINK aus XBase.
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Okay, okay, okay ... ich habs gefunden. Ich sitze wohl schon zu lange vor der Kiste. Ist zu finden in
\..\XPPW32\book\XPPREF.HLP und dort wiederum unter:
Programmierwerkzeuge --> Der Alaska Linker - ALINK.EXE --> Linker Optionen
Na mal sehen, werde mal nachlesen, was ich in meiner *.LNK Datei falsch gemacht habe. Vielleicht geht mir ja ein auf.
\..\XPPW32\book\XPPREF.HLP und dort wiederum unter:
Programmierwerkzeuge --> Der Alaska Linker - ALINK.EXE --> Linker Optionen
Na mal sehen, werde mal nachlesen, was ich in meiner *.LNK Datei falsch gemacht habe. Vielleicht geht mir ja ein auf.
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
"das erste" die Procedure MAIN() einhält.
ein weiteres Problem könnte sein das deine PRG nicht mit PROCEDURE
oder FUNCTION anfängt (Cl*pper konnte den PRG Namen als Procedure-
Namen nehmen). Ich dem Fall würde ich mir eine kleine Routine schreiben
mit Directory("*.PRG"), die mit FOPEN öffnen und mit FWRITE in die neue
PRGs dann PROCEDURE xxx schreiben.
Sicherlich hast du schon gelesen das du einfach alle PRG nimmst wobeiFlashNash hat geschrieben:Okay, okay, okay ... ich habs gefunden. Ich sitze wohl schon zu lange vor der Kiste. Ist zu finden in
\..\XPPW32\book\XPPREF.HLP und dort wiederum unter:
Programmierwerkzeuge --> Der Alaska Linker - ALINK.EXE --> Linker Optionen
Na mal sehen, werde mal nachlesen, was ich in meiner *.LNK Datei falsch gemacht habe. Vielleicht geht mir ja ein auf.
"das erste" die Procedure MAIN() einhält.
Code: Alles auswählen
dir *.PRG /B > PROJECT.TXT
PBUILD @PROJECT.TXT
=> PROJECT.XPJ
oder FUNCTION anfängt (Cl*pper konnte den PRG Namen als Procedure-
Namen nehmen). Ich dem Fall würde ich mir eine kleine Routine schreiben
mit Directory("*.PRG"), die mit FOPEN öffnen und mit FWRITE in die neue
PRGs dann PROCEDURE xxx schreiben.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Link-Status 11.08.2008:
Meine dezeit aktuelle ´unresolved external´ Liste, die der ALink mir erzeugt:
1. Die beiden UDF´s aus de NT250LIB sind klar. Für die beiden werde ich schon was finden/machen.
2. Die UDF´s aus der CA ToolII LIB sind ja überwiegend um Fenster zu händeln. Die paar, die nichts mit der Fenstersteuerung zu tun haben sind pillepalle, dafü werde ich mir was einfallen lassen. Gibt es in XBase etwas ähnliches für die Fenstersteuerung? Bin mit den XBase Commands noch längst nicht vertraut ... ja, ja, ich werde weiter lesen/lernen.
3. Bleiben noch die UDFs mit den zwei Unterstrichen (__xyz) aus dem alten Clipper. Kann mir dazu jemand einen Hinweis geben?
Meine dezeit aktuelle ´unresolved external´ Liste, die der ALink mir erzeugt:
1. Die beiden UDF´s aus de NT250LIB sind klar. Für die beiden werde ich schon was finden/machen.
2. Die UDF´s aus der CA ToolII LIB sind ja überwiegend um Fenster zu händeln. Die paar, die nichts mit der Fenstersteuerung zu tun haben sind pillepalle, dafü werde ich mir was einfallen lassen. Gibt es in XBase etwas ähnliches für die Fenstersteuerung? Bin mit den XBase Commands noch längst nicht vertraut ... ja, ja, ich werde weiter lesen/lernen.
3. Bleiben noch die UDFs mit den zwei Unterstrichen (__xyz) aus dem alten Clipper. Kann mir dazu jemand einen Hinweis geben?
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
zu 1b.) COLORWIN : Es gibt kein "blink" und "bright" geht nur mit Trick
(Hintergrund mit *+ oder so ... )
zu 2.) die ganzen W* Funktionen, gibt es in den XbTools, sind eigendlich
bei Xbase++ überflüssig den du kann ja beliebig viele XbpCRT() öffnen.
SHOWTIME() : siehe mal unter Xbase++ Helpfile "Threads"
KSET* Funktionen werden als seperater Thread abgefragt.
In meinem Beispiel habe ich einen "eigenen" Statusbar statt dem interen
Xbase++ XbpStatusbar()
zu 3.) bis auf das __MXRELEASE sind das doch die "normalen" PPO´s ?
nimm doch einfach mal die "_" Unterstriche raus, also statt __QUIT nur QUIT
FlashNash hat geschrieben:Link-Status 11.08.2008:
Meine dezeit aktuelle ´unresolved external´ Liste, die der ALink mir erzeugt:
1. Die beiden UDF´s aus de NT250LIB sind klar. Für die beiden werde ich schon was finden/machen.
FlashNash hat geschrieben: 2. Die UDF´s aus der CA ToolII LIB sind ja überwiegend um Fenster zu händeln. Die paar, die nichts mit der Fenstersteuerung zu tun haben sind pillepalle, dafü werde ich mir was einfallen lassen. Gibt es in XBase etwas ähnliches für die Fenstersteuerung? Bin mit den XBase Commands noch längst nicht vertraut ... ja, ja, ich werde weiter lesen/lernen.
zu 1a.) COLORTON : sollte bei "nur" 16 Farben kein Problem seinFlashNash hat geschrieben: 3. Bleiben noch die UDFs mit den zwei Unterstrichen (__xyz) aus dem alten Clipper. Kann mir dazu jemand einen Hinweis geben?
zu 1b.) COLORWIN : Es gibt kein "blink" und "bright" geht nur mit Trick
(Hintergrund mit *+ oder so ... )
zu 2.) die ganzen W* Funktionen, gibt es in den XbTools, sind eigendlich
bei Xbase++ überflüssig den du kann ja beliebig viele XbpCRT() öffnen.
SHOWTIME() : siehe mal unter Xbase++ Helpfile "Threads"
Code: Alles auswählen
PROCEDURE Main
LOCAL oThread := Thread():new()
CLS
oThread:start( "showTime", MaxRow(), MaxCol()-7 )
USE Kunden NEW EXCLUSIVE
@ 10,10 SAY "Nachname" GET FIELD->NachName
@ 12,10 SAY " Vorname" GET FIELD->VorName
READ
RETURN
PROCEDURE ShowTime( nRow, nCol )
DO WHILE .T.
DispOutAt( nRow, nCol, Time() )
Sleep(100)
ENDDO
RETURN
In meinem Beispiel habe ich einen "eigenen" Statusbar statt dem interen
Xbase++ XbpStatusbar()
Code: Alles auswählen
PROCEDURE MAIN
// mal als "normaler" Thread statt SetTimerEvent
oStatus := Thread() :new()
oStatus:setInterval( 100 )
oStatus:start( "KBSTATUS", oStatbar, oPanel, oDlg )
...
PROCEDURE KBSTATUS( oStatbar, oPanel, oHaupt )
STATIC lCAPS := .F.
STATIC lINS := .F.
STATIC lNUM := .F.
oStatbar:oTime:setCaption( TIME() ) // Zeitanzeige
* IF AppKeyState(VK_SCROLL , .t.) == APPKEY_TOGGLED
* 'ON '
* ELSE
* 'OFF'
* ENDIF
IF AppKeyState( VK_CAPITAL, .t. ) == APPKEY_TOGGLED
IF lCAPS
ELSE
oStatbar:oCaps:SetcolorBG( GRA_CLR_RED )
oStatbar:oCaps:InvalidateRect()
lCAPS := .T.
ENDIF
ELSE
IF lCAPS
oStatbar:oCaps:SetcolorBG( GRA_CLR_BACKGROUND )
oStatbar:oCaps:InvalidateRect()
lCAPS := .F.
ENDIF
ENDIF
IF AppKeyState( VK_INSERT, .t. ) == APPKEY_TOGGLED
IF lINS
ELSE
oStatbar:oIns:SetcolorBG( GRA_CLR_RED )
oStatbar:oIns:InvalidateRect()
lINS := .T.
ENDIF
ELSE
IF lINS
oStatbar:oIns:SetcolorBG( GRA_CLR_BACKGROUND )
oStatbar:oIns:InvalidateRect()
lINS := .F.
ENDIF
ENDIF
IF AppKeyState( VK_NUMLOCK, .t. ) == APPKEY_TOGGLED
IF lNUM
ELSE
oStatbar:oNum:SetcolorBG( GRA_CLR_BACKGROUND )
oStatbar:oNum:InvalidateRect()
lNUM := .T.
ENDIF
ELSE
IF lNUM
oStatbar:oNum:SetcolorBG( GRA_CLR_RED )
oStatbar:oNum:InvalidateRect()
lNUM := .F.
ENDIF
ENDIF
RETURN
nimm doch einfach mal die "_" Unterstriche raus, also statt __QUIT nur QUIT
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Die oberen UDF´s sind schon klar, stammen ja aus einer thirdparty LIB.
Die UDF´s mit den beiden Unterstrichen (__xyz) ralle ich nicht. Ich kann die beiden Unterstriche nicht rausnehmen. Die unresolved mit den beiden Unterstrichen stehen kurioserweise durch
PBuild NexusSAA.XPJ > NexusSAA.ERR
in der NexusSAA.ERR als unresolved external so, als wären die garnicht vorhanden. Sind aber doch ´interne´ UDF´s d.h. früher aus Clipper und sollten doch auch in der XBase LIB enthalten sein. Oder denke ich hier in eine falsche Richtung?
Die UDF´s mit den beiden Unterstrichen (__xyz) ralle ich nicht. Ich kann die beiden Unterstriche nicht rausnehmen. Die unresolved mit den beiden Unterstrichen stehen kurioserweise durch
PBuild NexusSAA.XPJ > NexusSAA.ERR
in der NexusSAA.ERR als unresolved external so, als wären die garnicht vorhanden. Sind aber doch ´interne´ UDF´s d.h. früher aus Clipper und sollten doch auch in der XBase LIB enthalten sein. Oder denke ich hier in eine falsche Richtung?
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
a.) steht bei dir im "original" Source was mit "__" oder
b.) es steht nicht bei dir im Source ?
Wenn es a.) ist wäre es ja wohl kein Problem ein _QUIT_ gegen ein QUIT
zu tauschen, aber wenn es b.) dann muss das irgendwie an deinem *.XPJ
Project File liegen ... bitte mal posten.
Das 16-Bit LIBs (von Cl*pper) nicht mit in das *.XPJ gehören ist wohl klar.
hm ... irgendwie verstehe ich nicht was da passiert.FlashNash hat geschrieben: Die UDF´s mit den beiden Unterstrichen (__xyz) ralle ich nicht. Ich kann die beiden Unterstriche nicht rausnehmen. Die unresolved mit den beiden Unterstrichen stehen kurioserweise durch
PBuild NexusSAA.XPJ > NexusSAA.ERR
in der NexusSAA.ERR als unresolved external so, als wären die garnicht vorhanden. Sind aber doch ´interne´ UDF´s d.h. früher aus Clipper und sollten doch auch in der XBase LIB enthalten sein. Oder denke ich hier in eine falsche Richtung?
a.) steht bei dir im "original" Source was mit "__" oder
b.) es steht nicht bei dir im Source ?
Wenn es a.) ist wäre es ja wohl kein Problem ein _QUIT_ gegen ein QUIT
zu tauschen, aber wenn es b.) dann muss das irgendwie an deinem *.XPJ
Project File liegen ... bitte mal posten.
Das 16-Bit LIBs (von Cl*pper) nicht mit in das *.XPJ gehören ist wohl klar.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Nein Jimmy, im Source steht nix mit __xyz darum kapiere ich das ja nicht. Wie schon gesagt, ALLE anderen UDF´s sind kein Thema, stammen aus thirdparty Libs und die werde ich step by step ändern und/oder was unnötig ist bei GUI, rauswerfen.
Unverständlich ist mir, dass die UDF´s mit den zwei Unterstrichen angemeckert werden. Ich habe die Clipper.LIB ´zerlegt´ und finde die meisten dort wieder. Darum kapiere ich es nicht, dass die als unresolved definiert angegeben werden.
Diese finde ich in der Cl*pper.LIB
-------------------------------------------
__KEYBOARD
__ATPROMPT
__MENUTO
__DBLOCATE
__DBPACK
__EJECT
__DBZAP
__DBSDF
__DBAPP
__QUIT
NICHT in Cl*pper.LIB zu finden
-------------------------------------------
_GET_
__SETCENTURY
__SETFORMAT
__MXRELEASE
__DBCONTINUE
Hier mein .XPJ File ....
//
// Project - Definition - File created by PBUILD Version 1.90.331
// Date: 11.08.2008 Time: 20:11:36
//
[PROJECT]
COMPILE = xpp
COMPILE_FLAGS = /q /b /n
DEBUG = yes
GUI = no
LINKER = alink
LINK_FLAGS = /FORCE:UNRESOLVED /MAP:\PRO_X\LOG\NexusSAA.MAP /DE
RC_COMPILE = arc
RC_FLAGS = /v
OBJ_DIR = \PRO_X\OBJ
INCLUDE = \PRO_X\SRC\INC
NEXUSSAA.XPJ
[NEXUSSAA.XPJ]
NEXUSSAA.EXE
[NEXUSSAA.EXE]
// $START-AUTODEPEND
NXMAX.OBJ
SAAMUP.OBJ
SAAMMENU.OBJ
SAAMFUNC.OBJ
SAAF2.OBJ
SAANOTI.OBJ
SAAERROR.OBJ
NXMAXSFI.OBJ
NXMAXDSP.OBJ
SWAPPRG0.OBJ
SHOWSUM0.OBJ
BAR1.OBJ
BAR16.OBJ
BAR4.OBJ
BAR18.OBJ
VERKA1.OBJ
VERKA14.OBJ
VERKA18.OBJ
VERKA19.OBJ
VERKOSF1.OBJ
VERKA1F0.OBJ
VERKA1F2.OBJ
VERKA2.OBJ
VERKDRK2.OBJ
VERKDRK3.OBJ
VERKDRK4.OBJ
VERKA5.OBJ
VERKA5B.OBJ
FAKTDRK.OBJ
GRUPPEN.OBJ
GRUPPEN1.OBJ
GRUPPEN2.OBJ
GRUPPEN3.OBJ
OPMAHN.OBJ
OPMAHN1.OBJ
OPMAHN2.OBJ
OPMADRK.OBJ
OPMADRK1.OBJ
OPMADRK2.OBJ
ARTIK1.OBJ
ARTIK19.OBJ
ARTIK18.OBJ
ARTIK2.OBJ
ARTIK4.OBJ
ARTIOSF1.OBJ
ARTIPRPM.OBJ
ARTIDRK.OBJ
ARTIDRK1.OBJ
ARTIDRK2.OBJ
ARTIDRK3.OBJ
ARTIDRK4.OBJ
ARTIDRK5.OBJ
KUNDEN1.OBJ
KUNDEN16.OBJ
KUNDEN17.OBJ
KUNDDRK.OBJ
KUNDDRK1.OBJ
KUNDDRK2.OBJ
KUNDDRK3.OBJ
KUNDDRK5.OBJ
KUNDEN2.OBJ
EINKSFI1.OBJ
EINKA1.OBJ
EINKA1F0.OBJ
EINKA1F2.OBJ
EINKA14.OBJ
EINKA18.OBJ
EINKA19.OBJ
EINKA7.OBJ
EINKSFI2.OBJ
EINKDRK.OBJ
EINKDRK1.OBJ
EINKDRK2.OBJ
EINKDRK3.OBJ
EINKA5.OBJ
EINKA53.OBJ
EINKA2.OBJ
LIEFER1.OBJ
LIEFER16.OBJ
LIEFER17.OBJ
LIEFOSF2.OBJ
LIEFER2.OBJ
LIEFER24.OBJ
LIEFER25.OBJ
LIEFDRK.OBJ
LIEFDRK1.OBJ
LIEFDRK2.OBJ
LIEFDRK3.OBJ
LIEFDRK5.OBJ
PERSSFIL.OBJ
PERSON1.OBJ
PERSON16.OBJ
PERSON15.OBJ
PERSON17.OBJ
PERSON2.OBJ
PERSDRK.OBJ
PERSDRK1.OBJ
PERSDRK2.OBJ
SPESEN1.OBJ
SPESEN15.OBJ
SPESEN2.OBJ
SPESEN3.OBJ
SPESSFIL.OBJ
SERVIC1.OBJ
SERVIC14.OBJ
SERVIC18.OBJ
SERVIC19.OBJ
SERVIC2.OBJ
SERVOSF1.OBJ
SERVI1F0.OBJ
SERVI1F2.OBJ
SERVDRK1.OBJ
FEHLER.OBJ
FEHLER1.OBJ
FEHLER2.OBJ
FEHLER3.OBJ
STD.CH
SET.CH
INKEY.CH
SAAMKEYB.CH
SAAMVARI.CH
XBP.CH
ERROR.CH
// $STOP-AUTODEPEND
NXMAX.PRG
SAAMUP.PRG
SAAMMENU.PRG
SAAMFUNC.PRG
SAAF2.PRG
SAANOTI.PRG
SAAERROR.PRG
NXMAXSFI.PRG
NXMAXDSP.PRG
SWAPPRG0.PRG
SHOWSUM0.PRG
BAR1.PRG
BAR16.PRG
BAR4.PRG
BAR18.PRG
VERKA1.PRG
VERKA14.PRG
VERKA18.PRG
VERKA19.PRG
VERKOSF1.PRG
VERKA1F0.PRG
VERKA1F2.PRG
VERKA2.PRG
VERKDRK2.PRG
VERKDRK3.PRG
VERKDRK4.PRG
VERKA5.PRG
VERKA5B.PRG
FAKTDRK.PRG
GRUPPEN.PRG
GRUPPEN1.PRG
GRUPPEN2.PRG
GRUPPEN3.PRG
OPMAHN.PRG
OPMAHN1.PRG
OPMAHN2.PRG
OPMADRK.PRG
OPMADRK1.PRG
OPMADRK2.PRG
ARTIK1.PRG
ARTIK19.PRG
ARTIK18.PRG
ARTIK2.PRG
ARTIK4.PRG
ARTIOSF1.PRG
ARTIPRPM.PRG
ARTIDRK.PRG
ARTIDRK1.PRG
ARTIDRK2.PRG
ARTIDRK3.PRG
ARTIDRK4.PRG
ARTIDRK5.PRG
KUNDEN1.PRG
KUNDEN16.PRG
KUNDEN17.PRG
KUNDDRK.PRG
KUNDDRK1.PRG
KUNDDRK2.PRG
KUNDDRK3.PRG
KUNDDRK5.PRG
KUNDEN2.PRG
EINKSFI1.PRG
EINKA1.PRG
EINKA1F0.PRG
EINKA1F2.PRG
EINKA14.PRG
EINKA18.PRG
EINKA19.PRG
EINKA7.PRG
EINKSFI2.PRG
EINKDRK.PRG
EINKDRK1.PRG
EINKDRK2.PRG
EINKDRK3.PRG
EINKA5.PRG
EINKA53.PRG
EINKA2.PRG
LIEFER1.PRG
LIEFER16.PRG
LIEFER17.PRG
LIEFOSF2.PRG
LIEFER2.PRG
LIEFER24.PRG
LIEFER25.PRG
LIEFDRK.PRG
LIEFDRK1.PRG
LIEFDRK2.PRG
LIEFDRK3.PRG
LIEFDRK5.PRG
PERSSFIL.PRG
PERSON1.PRG
PERSON16.PRG
PERSON15.PRG
PERSON17.PRG
PERSON2.PRG
PERSDRK.PRG
PERSDRK1.PRG
PERSDRK2.PRG
SPESEN1.PRG
SPESEN15.PRG
SPESEN2.PRG
SPESEN3.PRG
SPESSFIL.PRG
SERVIC1.PRG
SERVIC14.PRG
SERVIC18.PRG
SERVIC19.PRG
SERVIC2.PRG
SERVOSF1.PRG
SERVI1F0.PRG
SERVI1F2.PRG
SERVDRK1.PRG
FEHLER.PRG
FEHLER1.PRG
FEHLER2.PRG
FEHLER3.PRG
Und hier die ersten 100 Lines (von ca. 400) die in der Link-Errorliste (NexusSAA.LER) stehen. Erzeugt mit Command wie folgt:
PBuild NexusSAA.XPJ > NexusSAA.LER
Alaska 32-Bit Linker Version 1.90.331
Copyright (c) Alaska Software 1997-2006. All rights reserved.
\PRO_X\OBJ\NXMAX.obj: error ALK2102: unresolved external symbol __QUIT
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __SETCENTURY
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __QUIT
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __SETFORMAT
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol CLPFILES
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol NETNAME
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol HELP
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __DBZAP
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __DBAPP
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol COLORWIN
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WOPEN
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WBOX
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol CXOR
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol SHOWTIME
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol KSETCAPS
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol KSETSCROLL
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WSETMOVE
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol COLORTON
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol COLORWIN
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol __DBPACK
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol __MXRELEASE
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol COLORWIN
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol HELP
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WROW
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WLASTROW
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WCOL
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WLASTCOL
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAERROR.obj: error ALK2102: unresolved external symbol __QUIT
\PRO_X\OBJ\SWAPPRG0.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SWAPPRG0.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SHOWSUM0.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __DBPACK
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __DBZAP
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR16.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR16.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol __EJECT
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol COMPSUMBK
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol __EJECT
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol PRNQUIFUS
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol F2VIEWONOFF
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\VERKA18.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\VERKA18.obj: error ALK2102: unresolved external symbol __ATPROMPT
Unverständlich ist mir, dass die UDF´s mit den zwei Unterstrichen angemeckert werden. Ich habe die Clipper.LIB ´zerlegt´ und finde die meisten dort wieder. Darum kapiere ich es nicht, dass die als unresolved definiert angegeben werden.
Diese finde ich in der Cl*pper.LIB
-------------------------------------------
__KEYBOARD
__ATPROMPT
__MENUTO
__DBLOCATE
__DBPACK
__EJECT
__DBZAP
__DBSDF
__DBAPP
__QUIT
NICHT in Cl*pper.LIB zu finden
-------------------------------------------
_GET_
__SETCENTURY
__SETFORMAT
__MXRELEASE
__DBCONTINUE
Hier mein .XPJ File ....
//
// Project - Definition - File created by PBUILD Version 1.90.331
// Date: 11.08.2008 Time: 20:11:36
//
[PROJECT]
COMPILE = xpp
COMPILE_FLAGS = /q /b /n
DEBUG = yes
GUI = no
LINKER = alink
LINK_FLAGS = /FORCE:UNRESOLVED /MAP:\PRO_X\LOG\NexusSAA.MAP /DE
RC_COMPILE = arc
RC_FLAGS = /v
OBJ_DIR = \PRO_X\OBJ
INCLUDE = \PRO_X\SRC\INC
NEXUSSAA.XPJ
[NEXUSSAA.XPJ]
NEXUSSAA.EXE
[NEXUSSAA.EXE]
// $START-AUTODEPEND
NXMAX.OBJ
SAAMUP.OBJ
SAAMMENU.OBJ
SAAMFUNC.OBJ
SAAF2.OBJ
SAANOTI.OBJ
SAAERROR.OBJ
NXMAXSFI.OBJ
NXMAXDSP.OBJ
SWAPPRG0.OBJ
SHOWSUM0.OBJ
BAR1.OBJ
BAR16.OBJ
BAR4.OBJ
BAR18.OBJ
VERKA1.OBJ
VERKA14.OBJ
VERKA18.OBJ
VERKA19.OBJ
VERKOSF1.OBJ
VERKA1F0.OBJ
VERKA1F2.OBJ
VERKA2.OBJ
VERKDRK2.OBJ
VERKDRK3.OBJ
VERKDRK4.OBJ
VERKA5.OBJ
VERKA5B.OBJ
FAKTDRK.OBJ
GRUPPEN.OBJ
GRUPPEN1.OBJ
GRUPPEN2.OBJ
GRUPPEN3.OBJ
OPMAHN.OBJ
OPMAHN1.OBJ
OPMAHN2.OBJ
OPMADRK.OBJ
OPMADRK1.OBJ
OPMADRK2.OBJ
ARTIK1.OBJ
ARTIK19.OBJ
ARTIK18.OBJ
ARTIK2.OBJ
ARTIK4.OBJ
ARTIOSF1.OBJ
ARTIPRPM.OBJ
ARTIDRK.OBJ
ARTIDRK1.OBJ
ARTIDRK2.OBJ
ARTIDRK3.OBJ
ARTIDRK4.OBJ
ARTIDRK5.OBJ
KUNDEN1.OBJ
KUNDEN16.OBJ
KUNDEN17.OBJ
KUNDDRK.OBJ
KUNDDRK1.OBJ
KUNDDRK2.OBJ
KUNDDRK3.OBJ
KUNDDRK5.OBJ
KUNDEN2.OBJ
EINKSFI1.OBJ
EINKA1.OBJ
EINKA1F0.OBJ
EINKA1F2.OBJ
EINKA14.OBJ
EINKA18.OBJ
EINKA19.OBJ
EINKA7.OBJ
EINKSFI2.OBJ
EINKDRK.OBJ
EINKDRK1.OBJ
EINKDRK2.OBJ
EINKDRK3.OBJ
EINKA5.OBJ
EINKA53.OBJ
EINKA2.OBJ
LIEFER1.OBJ
LIEFER16.OBJ
LIEFER17.OBJ
LIEFOSF2.OBJ
LIEFER2.OBJ
LIEFER24.OBJ
LIEFER25.OBJ
LIEFDRK.OBJ
LIEFDRK1.OBJ
LIEFDRK2.OBJ
LIEFDRK3.OBJ
LIEFDRK5.OBJ
PERSSFIL.OBJ
PERSON1.OBJ
PERSON16.OBJ
PERSON15.OBJ
PERSON17.OBJ
PERSON2.OBJ
PERSDRK.OBJ
PERSDRK1.OBJ
PERSDRK2.OBJ
SPESEN1.OBJ
SPESEN15.OBJ
SPESEN2.OBJ
SPESEN3.OBJ
SPESSFIL.OBJ
SERVIC1.OBJ
SERVIC14.OBJ
SERVIC18.OBJ
SERVIC19.OBJ
SERVIC2.OBJ
SERVOSF1.OBJ
SERVI1F0.OBJ
SERVI1F2.OBJ
SERVDRK1.OBJ
FEHLER.OBJ
FEHLER1.OBJ
FEHLER2.OBJ
FEHLER3.OBJ
STD.CH
SET.CH
INKEY.CH
SAAMKEYB.CH
SAAMVARI.CH
XBP.CH
ERROR.CH
// $STOP-AUTODEPEND
NXMAX.PRG
SAAMUP.PRG
SAAMMENU.PRG
SAAMFUNC.PRG
SAAF2.PRG
SAANOTI.PRG
SAAERROR.PRG
NXMAXSFI.PRG
NXMAXDSP.PRG
SWAPPRG0.PRG
SHOWSUM0.PRG
BAR1.PRG
BAR16.PRG
BAR4.PRG
BAR18.PRG
VERKA1.PRG
VERKA14.PRG
VERKA18.PRG
VERKA19.PRG
VERKOSF1.PRG
VERKA1F0.PRG
VERKA1F2.PRG
VERKA2.PRG
VERKDRK2.PRG
VERKDRK3.PRG
VERKDRK4.PRG
VERKA5.PRG
VERKA5B.PRG
FAKTDRK.PRG
GRUPPEN.PRG
GRUPPEN1.PRG
GRUPPEN2.PRG
GRUPPEN3.PRG
OPMAHN.PRG
OPMAHN1.PRG
OPMAHN2.PRG
OPMADRK.PRG
OPMADRK1.PRG
OPMADRK2.PRG
ARTIK1.PRG
ARTIK19.PRG
ARTIK18.PRG
ARTIK2.PRG
ARTIK4.PRG
ARTIOSF1.PRG
ARTIPRPM.PRG
ARTIDRK.PRG
ARTIDRK1.PRG
ARTIDRK2.PRG
ARTIDRK3.PRG
ARTIDRK4.PRG
ARTIDRK5.PRG
KUNDEN1.PRG
KUNDEN16.PRG
KUNDEN17.PRG
KUNDDRK.PRG
KUNDDRK1.PRG
KUNDDRK2.PRG
KUNDDRK3.PRG
KUNDDRK5.PRG
KUNDEN2.PRG
EINKSFI1.PRG
EINKA1.PRG
EINKA1F0.PRG
EINKA1F2.PRG
EINKA14.PRG
EINKA18.PRG
EINKA19.PRG
EINKA7.PRG
EINKSFI2.PRG
EINKDRK.PRG
EINKDRK1.PRG
EINKDRK2.PRG
EINKDRK3.PRG
EINKA5.PRG
EINKA53.PRG
EINKA2.PRG
LIEFER1.PRG
LIEFER16.PRG
LIEFER17.PRG
LIEFOSF2.PRG
LIEFER2.PRG
LIEFER24.PRG
LIEFER25.PRG
LIEFDRK.PRG
LIEFDRK1.PRG
LIEFDRK2.PRG
LIEFDRK3.PRG
LIEFDRK5.PRG
PERSSFIL.PRG
PERSON1.PRG
PERSON16.PRG
PERSON15.PRG
PERSON17.PRG
PERSON2.PRG
PERSDRK.PRG
PERSDRK1.PRG
PERSDRK2.PRG
SPESEN1.PRG
SPESEN15.PRG
SPESEN2.PRG
SPESEN3.PRG
SPESSFIL.PRG
SERVIC1.PRG
SERVIC14.PRG
SERVIC18.PRG
SERVIC19.PRG
SERVIC2.PRG
SERVOSF1.PRG
SERVI1F0.PRG
SERVI1F2.PRG
SERVDRK1.PRG
FEHLER.PRG
FEHLER1.PRG
FEHLER2.PRG
FEHLER3.PRG
Und hier die ersten 100 Lines (von ca. 400) die in der Link-Errorliste (NexusSAA.LER) stehen. Erzeugt mit Command wie folgt:
PBuild NexusSAA.XPJ > NexusSAA.LER
Alaska 32-Bit Linker Version 1.90.331
Copyright (c) Alaska Software 1997-2006. All rights reserved.
\PRO_X\OBJ\NXMAX.obj: error ALK2102: unresolved external symbol __QUIT
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __SETCENTURY
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __QUIT
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __SETFORMAT
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol CLPFILES
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol NETNAME
\PRO_X\OBJ\SAAMUP.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol HELP
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __DBZAP
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol __DBAPP
\PRO_X\OBJ\SAAMMENU.obj: error ALK2102: unresolved external symbol COLORWIN
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WOPEN
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WBOX
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol CXOR
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol SHOWTIME
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol KSETCAPS
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol KSETSCROLL
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol WSETMOVE
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol COLORTON
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol COLORWIN
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol __DBPACK
\PRO_X\OBJ\SAAMFUNC.obj: error ALK2102: unresolved external symbol __MXRELEASE
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol COLORWIN
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol HELP
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WROW
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WLASTROW
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WCOL
\PRO_X\OBJ\SAAF2.obj: error ALK2102: unresolved external symbol WLASTCOL
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SAANOTI.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SAAERROR.obj: error ALK2102: unresolved external symbol __QUIT
\PRO_X\OBJ\SWAPPRG0.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\SWAPPRG0.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\SHOWSUM0.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __DBPACK
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol __DBZAP
\PRO_X\OBJ\BAR1.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR16.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR16.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR4.obj: error ALK2102: unresolved external symbol __EJECT
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol COMPSUMBK
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol __EJECT
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\BAR18.obj: error ALK2102: unresolved external symbol PRNQUIFUS
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\VERKA1.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol WSELECT
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol __ATPROMPT
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol __MENUTO
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol WCLOSE
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol __DBLOCATE
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol F2VIEWONOFF
\PRO_X\OBJ\VERKA14.obj: error ALK2102: unresolved external symbol _GET_
\PRO_X\OBJ\VERKA18.obj: error ALK2102: unresolved external symbol __KEYBOARD
\PRO_X\OBJ\VERKA18.obj: error ALK2102: unresolved external symbol __ATPROMPT
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
verwendest du Cl*pper und Xbase++ "gleichzeitig" ?
wie sieht dein Envioment (SET Variabeln) aus ?
Das Setup von Xbase++ "hängt" seine SET "an das Ende" der Usersection
sodas XBase++ evtl. im PATH "hinter" den Cl*pper steht ?
bei der Installation wird eine *.BAT (in \ALASKA) erzeugt dir die zeigt
was du für Xbase++ brauchst.
verwendest du Cl*pper und Xbase++ "gleichzeitig" ?
wie sieht dein Envioment (SET Variabeln) aus ?
Das Setup von Xbase++ "hängt" seine SET "an das Ende" der Usersection
sodas XBase++ evtl. im PATH "hinter" den Cl*pper steht ?
bei der Installation wird eine *.BAT (in \ALASKA) erzeugt dir die zeigt
was du für Xbase++ brauchst.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Ich verwende zwar XBase + Clipper jedoch ist die Environmentumschaltung (durch BATches) für beide okay, alles schon überprüft.
Hier von XBase:
INCLUDE=G:\PRO_X\PL\XPPW32\INCLUDE;G:\PRO_X\PL\exp19\include
LIB=G:\PRO_X\PL\XPPW32\LIB;G:\PRO_X\PL\exp19\lib
Path=G:\Programme\PC Connectivity Solution\;G:\WINDOWS\system32;G:\WINDOWS;G:\WINDOWS\System32\Wbem;G:\Programme\ATI Technologies\ATI Control Panel;G:\PRO_X\PL\XPPW32\LIB;G:\PRO_X\PL\XPPW32\BIN;G:\PRO_X\PL\exp19\bin19;G:\PRO_X\PL\exp19\bin
XPPRESOURCE=G:\PRO_X\PL\XPPW32\RESOURCE;G:\PRO_X\PL\XPPW32\RESOURCE\ICON;G:\PRO_X\PL\XPPW32\RESOURCE\FONT;G:\PRO_X\PL\XPPW32\RESOURCE\BITMAP
Hinweis: \.\ALASKA\ habe ich nicht da ich das Xbase strukturmäßig in meine Programmierumgebung eingebaut habe. Ist ja auch egal WO genau XBase liegt, Hauptsache ist doch, die Pfade stimmen.
Hier von XBase:
INCLUDE=G:\PRO_X\PL\XPPW32\INCLUDE;G:\PRO_X\PL\exp19\include
LIB=G:\PRO_X\PL\XPPW32\LIB;G:\PRO_X\PL\exp19\lib
Path=G:\Programme\PC Connectivity Solution\;G:\WINDOWS\system32;G:\WINDOWS;G:\WINDOWS\System32\Wbem;G:\Programme\ATI Technologies\ATI Control Panel;G:\PRO_X\PL\XPPW32\LIB;G:\PRO_X\PL\XPPW32\BIN;G:\PRO_X\PL\exp19\bin19;G:\PRO_X\PL\exp19\bin
XPPRESOURCE=G:\PRO_X\PL\XPPW32\RESOURCE;G:\PRO_X\PL\XPPW32\RESOURCE\ICON;G:\PRO_X\PL\XPPW32\RESOURCE\FONT;G:\PRO_X\PL\XPPW32\RESOURCE\BITMAP
Hinweis: \.\ALASKA\ habe ich nicht da ich das Xbase strukturmäßig in meine Programmierumgebung eingebaut habe. Ist ja auch egal WO genau XBase liegt, Hauptsache ist doch, die Pfade stimmen.
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
ich habe mal ein kleines Demo gebaut und ausser EJECT und SDF*
alles "eingebaut". Das müsste sowohl mit Cl*pper als auch Xbase++´
funktionieren.
ich habe mal ein kleines Demo gebaut und ausser EJECT und SDF*
alles "eingebaut". Das müsste sowohl mit Cl*pper als auch Xbase++´
funktionieren.
Code: Alles auswählen
#include "INKEY.ch"
#IFDEF __XPP__
#include "Xbp.ch"
#include "NLS.CH"
#include "Appevent.ch"
*PROCEDURE APPSYS
*RETURN
#ENDIF
PROCEDURE MAIN
/*
*KEYBOARD
*ATPROMPT
*MENUTO
*DBLOCATE
*DBPACK
EJECT
*DBZAP
DBSDF
*DBAPP
*QUIT
NICHT in Cl*pper.LIB zu finden
-------------------------------------------
*_GET_
*__SETCENTURY
*__SETFORMAT
__MXRELEASE
*__DBCONTINUE
*/
LOCAL nMenuItem := 1, PromptList:={}
SET CENTURY ON
SET EPOCH TO YEAR( DATE() ) - 50
SET DATE GERMAN
* SET FORMAT - Dieser Befehl wird in Xbase++ nicht unterst
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Thx Jimmy, macher ich noch heute, solbald ich etwas ´Luft´ habe. Werde dann hier berichten.
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo,
unter Clipper hat man einfach eine Funktion mit gleichem Namen wie die in der Clipper-lib erzeugt um den Inhalt einer Systemfunktion auszutauschen, z.B. das Keybord-System.
Unter Xbase++ geht das so nicht, da dort zur Runtime DLL dahinter stehen. Ich meine zwar in diesem Falle wäre der Fehler eine 'doppelte Definition' eines Funktionsnamens gewesen, aber eventuell könnte das auch andere Fehler verursachen, also danach sehen.
Auch z.B. eine MEMVAR.CH aus Clipper-Tagen muss man umbenennen nach z.B. MyMemVar.CH, denn es gibt eine mit solchem Namen von Xbase++
Eventuell haben ja noch andere Dateien Namenkonflikte.
unter Clipper hat man einfach eine Funktion mit gleichem Namen wie die in der Clipper-lib erzeugt um den Inhalt einer Systemfunktion auszutauschen, z.B. das Keybord-System.
Unter Xbase++ geht das so nicht, da dort zur Runtime DLL dahinter stehen. Ich meine zwar in diesem Falle wäre der Fehler eine 'doppelte Definition' eines Funktionsnamens gewesen, aber eventuell könnte das auch andere Fehler verursachen, also danach sehen.
Auch z.B. eine MEMVAR.CH aus Clipper-Tagen muss man umbenennen nach z.B. MyMemVar.CH, denn es gibt eine mit solchem Namen von Xbase++
Eventuell haben ja noch andere Dateien Namenkonflikte.
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 101
- Registriert: Di, 22. Jul 2008 15:39
- Wohnort: RE - NRW
- Kontaktdaten:
Die Sache mit den internen UDF´s vor denen jeweils zwei unterstriche (__xyz) stehen hat sich erledigt.
Sakkra.... war meine eigene Dummeit. Ich hatte in meiner Programmierumgebung den Drivekenner von C: nach G: in meinen BATches ´global´ getauscht. Dabei wurde dummerweise in einem bestimmten BATch die PATH Angabe fälschlich bestückt. Nach dem ich das nun korregiert habe, sind zumindest diese __xyz unresolved verschwunden.
So... und nun geht es weiter mit den UDF´s die aus der CA-Tool II (die UDFs für Windowhändling) stammen. Mal sehen, wie ich damit weiter ´backe´. Ich werde berichten.
Danke Euch für die tolle Unterstützung hier.
Sakkra.... war meine eigene Dummeit. Ich hatte in meiner Programmierumgebung den Drivekenner von C: nach G: in meinen BATches ´global´ getauscht. Dabei wurde dummerweise in einem bestimmten BATch die PATH Angabe fälschlich bestückt. Nach dem ich das nun korregiert habe, sind zumindest diese __xyz unresolved verschwunden.
So... und nun geht es weiter mit den UDF´s die aus der CA-Tool II (die UDFs für Windowhändling) stammen. Mal sehen, wie ich damit weiter ´backe´. Ich werde berichten.
Danke Euch für die tolle Unterstützung hier.
Gruß Rolf
Admin of www.Ruhrpottboard.de
Admin of www.Ruhrpottboard.de