Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

Struktur > 2Gb

  Alt 20. Apr 2012, 13:50
Delphi-Version: 5
Hallo zusammen,

ich habe eine "uralte" Funktion von D XE übersetzen lassen und bin mit der Meldung "Struktur >2GB" belohnt worden.
Ich könnte jetzt einfach ein paar Byte abzwacken, aber "richtig" wäre diese Lösung nicht.
Könnt Ihr mir einen (oder mehrere Tips geben wie ich das Problem "ordentlich" lösen kann?
Delphi-Quellcode:
procedure copyStr2Ara(const ins:string;pa:pointer;lange:cardinal);
type
  ta = array [0..maxint-1] of char;
var
  sizeofa:cardinal;
  tocopy :cardinal;
begin
  sizeofa:=lange*sizeof(char);
  if sizeofa>0 then begin
    tocopy:=sizeof(char)*length(ins);
    if tocopy<=sizeofa then begin
      if tocopy>0 then
        move(ins[1],ta(pa^)[0],tocopy);
      if tocopy<sizeofa then fillchar(ta(pa^)[tocopy],sizeofa-tocopy,' ');
    end
    else
      move(ins[1],ta(pa^)[0],sizeofa);
  end;
end;
(gerade ist mir aufgefallen, daß das füllen mit Blanks nicht unicode-tauglich ist, bitte ignoriert das)Gruß
k-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat