Nicht behebbarer Ferhler 5302

Still in use?

Moderator: Moderatoren

Antworten
angelo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 196
Registriert: Mo, 24. Apr 2006 10:52

Nicht behebbarer Ferhler 5302

Beitrag von angelo » Mi, 11. Jul 2012 11:04

Hallo zusammen,

möchte gerne den Debugger mit meiner exe-Datei starten aber es kommt der Fehler 'Nicht behebbarer Fehler 5302: Arbeitsspeicher nicht ausreichend'.
Dieser Fehler kommt manchmal aber nicht immer. Habe 1GB RAM mit Winxp und Clipper52e.

Kann mir jemand helfen bei diesem Problem?

Vielen Dank im voraus für die Hilfe.

Viele Grüße
Angelo Forgione

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 7235
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Kontaktdaten:

Re: Nicht behebbarer Ferhler 5302

Beitrag von Tom » Mi, 11. Jul 2012 11:51

Helfen kann man da nicht; der Arbeitsspeicher ist nicht ausreichend, Punkt. Clipper kann nur 640 KB verwalten, und die sind halt ausgeschöpft. Je nach verwendetem Linker kann man versuchen, die Applikation in sog. Overlays aufzuteilen, aber das ist (bei mir) so lange her, dass es mir unmöglich ist, hierfür eine Anleitung zu verfassen. Vielleicht weiß noch jemand, wie das geht. Begriffe wie "ExoSpace", "Blinker" und "RTlink" geistern durch mein Haupt.
Herzlich,
Tom

angelo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 196
Registriert: Mo, 24. Apr 2006 10:52

Re: Nicht behebbarer Ferhler 5302

Beitrag von angelo » Mi, 11. Jul 2012 13:09

Tom hat geschrieben:Helfen kann man da nicht; der Arbeitsspeicher ist nicht ausreichend, Punkt. Clipper kann nur 640 KB verwalten, und die sind halt ausgeschöpft. Je nach verwendetem Linker kann man versuchen, die Applikation in sog. Overlays aufzuteilen, aber das ist (bei mir) so lange her, dass es mir unmöglich ist, hierfür eine Anleitung zu verfassen. Vielleicht weiß noch jemand, wie das geht. Begriffe wie "ExoSpace", "Blinker" und "RTlink" geistern durch mein Haupt.
Hallo Tom,

dann hilft wohl am leichtesten wenn ich den Arbeitsspeicher erweitere.
Nur weil dieser Fehler, wie geschrieben, nur manchmal aufgetaucht ist, dachte ich mir
das es eine leichte Lösung für dieses Problem gibt.

Viele Grüße
angelo

psp
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 237
Registriert: Do, 22. Okt 2009 13:42

Re: Nicht behebbarer Ferhler 5302

Beitrag von psp » Mi, 11. Jul 2012 13:23

den unteren Speicherbereich von 640 kB kann man nicht nachrüsten - kannst dich bei Bill Gates bedanken

du kannst evtl. mit einer DosBox versuchen so viel freien Speicher innerhalb der 640 kB zu bekommen - meines Wissens gingen 632 kB freier Speicher

Edith: Zahlendreher behoben, laut D-Fend Reloaded für die DosBox

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14477
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Nicht behebbarer Ferhler 5302

Beitrag von brandelh » Mi, 11. Jul 2012 13:31

Hi,

unter XP (genauer ab NT...) ist die DOS Box sogar viel gnädiger als das Original.
Die 640 KB unter DOS mussten ja noch Keyboard, Netzwerk etc. Treiber aufnehmen. Ich hatte teilweise kaum 400 KB Speicher laut MEM bevor ich die EXE geladen habe ;-)
Wenn das Problem bei den DATEN im RAM liegt, kann man versuchen diese auszulagern.
Der Blinker konnte die Speichergrenze erhöhen, wenn man es richtig gemacht hat, ich selbst habe dies aber nie genutzt.
Wenn man keine exotischen Bibliotheken verwendet, ist die 1:1 Umsetzung nach Xbase++ die einfachste Lösung !
Gruß
Hubert

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11315
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Nicht behebbarer Ferhler 5302

Beitrag von AUGE_OHR » Do, 12. Jul 2012 9:19

angelo hat geschrieben:möchte gerne den Debugger mit meiner exe-Datei starten aber es kommt der Fehler 'Nicht behebbarer Fehler 5302: Arbeitsspeicher nicht ausreichend'.
evtl. einen anderen Debugger verwenden .. MR-DEBUG (?).

unter Cl*pper52e gab es den Blinker. damit kannst du eine Cl*pper52e Application "protect mode" fähig machen und XMS nutzen.

dieser Source kann für Cl*pper ein *.RMK und für Blinker ein *.LNK Script erstellen ( evtl. Korrekturen notwendig )

compile und link MAKE5IT.PRG
kopiere MAKE5IT.EXE und all *.PRG in einen Ordner

MAKE5IT.EXE Main.PRG

wobei MAIN.PRG ist PROCEDURE START in Cl*pper

MAIN.RMK
MAIN.LNK
-.BAT start both

Code: Alles auswählen

*:*********************************************************************
*:
*:        Program: D:\WORK\MAKE5IT\MAKE5IT.PRG
*:
*:         System: Make5it
*:         Author: JImmy Yiu
*:      Copyright (c) 1991, YiuSoftware. Inh. Shung Yang Yiu
*:  Last modified: 20/10/91      0:53
*:
*:    Other Files: &LINK_FILE
*:               : &MAKE_FILE
*:               : -.BAT
*:
*:      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 1991xxxx 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
? "//"
? "// 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

matyschik
UDF-Programmierer
UDF-Programmierer
Beiträge: 51
Registriert: Do, 14. Dez 2006 0:08

Re: Nicht behebbarer Ferhler 5302

Beitrag von matyschik » Mo, 16. Jul 2012 1:59

Hallo Angelo,

vom Clipper solltest Du Dich langsam verabschieden da Compilate unter 64 Bit Sytemen nicht mehr laufen.
Ich habe bisher mit Xbase++ im CRT Modus gearbeitet und hatte keine Probleme unter 32/64 Bit Sytemen.

Seit der letzten Devcon im April 2012 bin ich auf Visual FlagShip 7 für Windows von Multisoft umgestiegen,
http://www.flagship.de/. Mit FlagShip kann man Clipper Quellcode fast ohne Änderungen übernehmen.
Es dann wie eine Windows Aplikation aus. Die Änderungen wären in erster Linie für das Aussehen zuständig.

Auch das lästige weitergeben der richtigen *.DLL Dateien entfällt. Es ist nur noch die glinkte *.exe Datei von
ca. 8 MB. Schau Dir das mal auf der FlagShip Seite an.

Gruß
Johann
Freundliche FlagShip Grüße
Johann

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14477
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Nicht behebbarer Ferhler 5302

Beitrag von brandelh » Sa, 28. Jul 2012 13:47

Die Fragen und Antworten zu FlagShip habe ich nach "Andere Sprachen" verschoben.
Gruß
Hubert

Antworten