![]() |
"IPProcs is not defined"
Folgende Meldung bei Aufruf des Konstruktors der Klasse, nennen wir sie mal TMeinRestClient, die einen TRESTClient instanziiert:
"IPProcs is not defined. Make sure IPPeerCommon (or an alternative IP Implementation unit) is in the uses clause" Das Problem ließ sich durch Hinzufügen von IpPeerClient in die Uses beheben... vorerst. Bei weiteren Tests wird TMeinRestClient in einem anderen Kontext erzeug und schwupps ist die Meldung wieder da. Eine völlig nachvollziehbare Antwort darauf könnte nun sein: "sieh mal zu, dass du deine Projektstruktur, Abhängigkeiten usw. auf die Reihe kriegst!" Aber lass uns mal annehmen, dass dies hier einfach nicht möglich ist. Gibt es nun etwas, dass ich in TMeinRestClient anders machen kann, vielleicht alles expliziter, so dass ganz unabhängig davon, aus welcher Assembly TMeinRestClient erzeugt wird, alles funktioniert? |
AW: "IPProcs is not defined"
In der Unit, in der TMeinRestClient definiert wurde, sollte auch IpPeerClient im Uses stehen.
|
AW: "IPProcs is not defined"
Jo, so ist es auch.
Das Problem taucht nur auf, wenn ich debugge... Tja, dann debugge ich das halt nicht? :| |
AW: "IPProcs is not defined"
Das verstehe ich jetzt auch nicht:gruebel:
Die Unit IPPeerCommon ist auch drin? |
AW: "IPProcs is not defined"
Die IPPeerCommon.dcu (!) gibt es für alle Varianten (Win32/Win64, Debug/Release) also mindestens vier Mal und wird gefunden (Such/Bib-Pfade korrekt)?
|
AW: "IPProcs is not defined"
Ok, hatte nichts mit dem Debugger zu tun, habe das nur falsch interpretiert.
Ich konnte das Problem jetzt auch beheben. Ich habe festgestellt, dass ich zuerst eine Aktion aus einem anderen Frame anstoßen muss. Dh.: Frame A -> klick auf Button -> TMeinRestClient.TuEtwas => Crash beim Konstruktor von TMeinRestClient Aber: Frame B -> klick auf Button -> TMeinRestClient.TuEtwas => geht dann Frame A -> klick auf Button -> TMeinRestClient.TuEtwas => geht auch TMeinRestClient wird jeweils neu erzeugt. Ich habe dann die Uses von Frame A und Frame B verglichen. Das einzige, was mit ins Auge gesprungen ist, ist der Eintrag von IdGlobalProtocols in den Uses von Frame B, der in Frame A nicht vorhanden ist. Aus purer Verzweiflung einfach mal IdGlobalProtocols in die Uses von Frame A gesetzt, und schon ging alles *shrug* Edit: nevermind, mein Testcase war aus anderen Gründen erfolgreich :D Problem besteht weiterhin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz