Announcement

Collapse
No announcement yet.

nicht mehr memory

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • nicht mehr memory

    ich habe das problem, das man mit
    getmem so 65k reservieren kann.
    aber nun soll die function getmemory
    mehr reservieren können. aber da ich
    beim schreiben auf
    segm:0000 und segm:0001 immer
    laufzeitfehler kriege, möchte ich wissen
    wie man jetzt mehr als 65k speicher
    reservieren soll können.


  • #2
    Gibt es Informationen für welche Sprache das benötigt wird....
    Christian

    Comment


    • #3
      delphi-pascal für windows

      Comment


      • #4
        Entweder Pascal oder Delphi
        Verschoben nach Delphi
        Es sollte unter heutigen Betriebssystemen/Rechnern keine 64k Grenze mehr geben, ggf. versuche GlobalAlloc
        Christian

        Comment


        • #5
          nein mein problem ist, wenn ich ein byte auf segm durch getmem und :0000 schreibe, kriege ich
          ein absturz des programms.

          Comment


          • #6
            Vielleicht weiß ein anderer Bescheid. Delphi ist .....tot und lange her.Ggf. solltest du mal den kompletten Code zeigen
            Christian

            Comment


            • #7
              eigentlich reicht schon xp1:=Getmemory(100000);

              Comment


              • #8
                Danach solltest du erstmal
                https://docwiki.embarcadero.com/Libr...stem.GetMemory
                die Exception fangen gegen den Absturz
                Dann prüfen auf nil.
                Warum nun 100.000 nicht reserviert werden können weiß ich auch nicht. Normalerweise wird zusammenhängender Speicher benötigt. Wenn man allerdings 4 GB Speicher hat und 1000 Prozesse haben sich immer ein Stückchen reserviert kann es schon sein, dass 100.000 zusammenhängend nicht mehr da sind
                Christian

                Comment


                • #9
                  aber wenn ich nicht drauf schreiben kann, ist auch das lesen sinnlos, selbst wenn ich die exception abfange, hat man nicht das
                  gewünschte program.

                  Comment


                  • #10
                    Wie programmierst du?
                    Selbst wenn du den Speicher nicht bekommst, lässt man das Programm nicht einfach abstürzen, sondern beendet es mit einer Fehlermeldung
                    Des Weiteren sollte man Zeiger auf einen gültigen Inhalt prüfen.
                    Christian

                    Comment


                    • #11
                      wozu soll ich fehlermeldung programmieren, wenn ich nicht an die stelle xp1+40000=segm:0000 schreiben kann. so ist das programmieren doch sinnlos.

                      Comment


                      • #12
                        Wenn du meinst...
                        Jedoch sollte man unterscheiden zwischen der korrekten Reservierung und dem Problem, warum nicht genug Speicher da ist
                        Christian

                        Comment


                        • #13
                          OK, hast ja kein Interesse das Problem zu lösen....
                          Christian

                          Comment

                          Working...
                          X