Einzelnen Beitrag anzeigen

Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#10

Re: AccessViolation-Error mit DLL

  Alt 16. Jan 2006, 18:24
Also wo liegt nun genau das Problem?

Bei den übergebenen PChars oder bei den Objekten?

Zu den PChars:
Delphi-Quellcode:
(* Anders als bei Strings müssen diese erst Speicher zugewiesen bekommen, wenn sie nicht aus dem Quelltext heraus mit Konstanten gleichgesetzt werden: *)
var
 P: PChar;
begin
 P := 'Hallo Welt!';
end;

(* wenn ich DLLs PChars übergeben hab oder in einer DLL Funktion ein variabler PChar zurück gegeben wurde, hab ich dafür erst Speicher reservieren müssen: *)
var
 P: PChar;
 S: String;//intern dürfen Strings benutzt werden //soweit ich weiß
begin
 S := DateToStr(Date);//ein Bsp, wo man nicht einfach P := PChar(DateToStr(Date)) schreiben kann
 GetMem(P, Length(S));
//oder obere Zeile und den String weglassen und direkt folgendes schreiben
// GetMem(P, 10);
 StrPCopy(P, S);
end;
Soviel zum Thema PChars, vlt liegts ja an etwas in die Richtung.

Zu den Pointergeschichten: Mir hat mal jemand gesagt, dass es egal sei, wenn man an DLLs TMenuItem s übergibt und so, so lange die Version der VCL übereinstimmt! (zu Programmierspracheübergreifenden Projekten kann ich da nicht sagen!)
  Mit Zitat antworten Zitat