AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointerfehler in DLL

Ein Thema von JocalAreaNetwork · begonnen am 22. Nov 2005 · letzter Beitrag vom 22. Nov 2005
 
JocalAreaNetwork

Registriert seit: 19. Aug 2005
35 Beiträge
 
Delphi 2006 Architect
 
#1

Pointerfehler in DLL

  Alt 22. Nov 2005, 12:06
Hallo,

ich habe jetzt mehrere Stunden an einer 'Invalid Pointer Operation' gehockt und weiß einfach nicht, was hier schiefläuft.
Die Funktion, die den Fehler wirft, sieht so aus:
Delphi-Quellcode:
function UnparseExpression(expression:string;varstack:ttempstack):string; stdcall;
var
  start,len,insertid:integer;
  dummy:string;
begin
  // now reparse the stinking thing ;)
  start := Pos('$', expression);
  while ( start > 0 ) do begin
    len := start+1;
    while ( partofint(expression[len+1]) ) do
      inc(len);

    dummy := copy(expression, start+1, len-start);
    insertid := strtoint(dummy);
    delete(expression, start,len-start+1);
    dummy := 'a'; // < hier entsteht schon ein fehler, auskommentiert läuft es
    //insert(floattostr(round(varstack.Entry[insertid]*precision_number)/precision_number), expression, start);

    start := Pos('$', expression);
  end;
  result := expression;
end;
Diese Methode steht in meiner DLL, auch wenn sie nicht exportiert wird. Sie wird von einer anderen Funktion in der DLL aufgerufen. Aus mir unerklärlichen Gründen wirft Delphi nun ein 'Invalid Pointer Operation' aus nachdem die Funktion beendet ist. Kommentiere ich die Zeile dummy:='a'; aus, dann tut es das nicht. Ich kann ansonsten an anderen Stellen Strings Werte zuweisen und diese auch wieder abrufen - warum hier nicht?

Wäre super, wenn mir jemand helfen könnte.

Mit freundlichen Grüßen
JocalAreaNetwork


PS: Ich glaube es tut zwar nichts zur Sache, aber ich lade die DLL dynamisch. PartOfInt() ist eine eigene Funktion, die nichts großartiges macht außer zu überprüfen, ob der Char eine Zahl ist.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz