1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
#include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "support2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; resfile get; Graphics::TBitmap* bit1=new Graphics::TBitmap;//нужны по всему коду поэтому глобальные Graphics::TBitmap* bit2=new Graphics::TBitmap; Graphics::TBitmap* bit3=new Graphics::TBitmap; Graphics::TBitmap* bit4=new Graphics::TBitmap; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { int mas[786432]; DoubleBuffered=true; //----------------------------------------- ifstream filez; filez.open("res.ij",std::ios::in|std::ios::binary);//файл - структура ниже приведу if(!filez){ShowMessage("Не удалось открыть файл res.ij");exit(1);} filez.read((char*)&get,sizeof(get)); filez.close(); //------------------------------------------ ifstream file1; file1.open("D:\ij\888\rb1.ij",std::ios::in|std::ios::binary);//файл-массив цветов от 0 до 16777216,+[0]-ширина //[1]-высота,786432-максимальный размер 1024*768 if(!file1){ShowMessage("Не удалось открыть файл rb.ij1");exit(1);} file1.read((char*)&mas,sizeof(mas)); Form1->Width=mas[0]; Form1->Height=mas[1]; Image1->Width=mas[0]; Image1->Height=mas[1]; bit1->Width=mas[0]; bit1->Height=mas[1]; int i=2; for(int x=0;x<mas[0];x++) { for(int y=0;y<mas[1];y++) { bit1->Canvas->Pixels[x][y]=mas[i]; i++; } } Image1->Picture->Bitmap=bit1; file1.close(); Image1->Repaint(); //----------------------------------------- ifstream file2; file2.open("D:\ij\888\rb2.ij",std::ios::in|std::ios::binary); file2.read((char*)&mas,sizeof(mas)); bit2->Width=mas[0]; bit2->Height=mas[1]; int i1=2; for(int x=0;x<mas[0];x++) { for(int y=0;y<mas[1];y++) { bit2->Canvas->Pixels[x][y]=mas[i1]; i1++; } } Image2->Picture->Bitmap=bit2; Image2->Repaint(); file2.close(); //----------------------------------------------- ifstream file3; file3.open("D:\ij\888\rb3.ij",std::ios::in|std::ios::binary); file3.read((char*)&mas,sizeof(mas)); bit3->Width=mas[0]; bit3->Height=mas[1]; int i2=2; for(int x=0;x<mas[0];x++) { for(int y=0;y<mas[1];y++) { bit3->Canvas->Pixels[x][y]=mas[i2]; i2++; } } Image3->Picture->Bitmap=bit3; Image3->Repaint(); file3.close(); //---------------------------------- ifstream file4; file4.open("D:\ij\888\rb4.ij",std::ios::in|std::ios::binary); file4.read((char*)&mas,sizeof(mas)); bit4->Width=mas[0]; bit4->Height=mas[1]; int i3=2; for(int x=0;x<mas[0];x++) { for(int y=0;y<mas[1];y++) { bit4->Canvas->Pixels[x][y]=mas[i3]; i3++; } } Image4->Picture->Bitmap=bit4; Image4->Repaint(); file4.close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { SYSTEMTIME Z; GetSystemTime(&Z); //пользовательская функция если закоментировать ошибки остаются,не в ней в общем дело ijRotate(Z.wSecond*6,get.xop,get.yop,bit4,Image4); ijRotate(Z.wMinute*6,get.xop,get.yop,bit3,Image3); ijRotate(Z.wHour*30+Z.wMinute/2,get.xop,get.yop,bit2,Image2); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { delete bit1; delete bit2; delete bit3; delete bit4; } |
Форум программистов Vingrad
Поиск: |
|
Опции темы |
DigitSphinx |
|
||||
Опытный Профиль
Репутация: нет
|
Доброе время суток, в универе препод дал свою дипломнею прогу, чтобы написать для нее описание и вообще разобраться в ней.
За тем
Программа работает (а то бы препод не сдал бы диплом) как заставить ее работать, желательно не устанавливая сам билдер. ——————— Чтобы пробить стену лбом нужен или большой разбег, или много лбов. |
||||
|
|||||
TaNK |
|
||
Опытный Профиль
Репутация: нет
|
для чего эта библиотека…может нужна gds32.dll? ———————
|
||
|
|||
Lazin |
|
||
Эксперт Профиль
Репутация: 18
|
В опциях линкера Добавлено через 24 секунды Добавлено через 1 минуту и 50 секунд ——————— C++ is the steampunk of programming languages: modern ideas realized with victorian technology. |
||
|
|||
DigitSphinx |
|
||
Опытный Профиль
Репутация: нет
|
Так у меня только exe файл, и все , Не билдера не тем более кода ! Добавлено через 2 минуты и 6 секунд ——————— Чтобы пробить стену лбом нужен или большой разбег, или много лбов. |
||
|
|||
Lazin |
|
||
Эксперт Профиль
Репутация: 18
|
то есть он нашел ошибку в программе, потом, видимо библиотека должна взаимодействовать с отладчиком… так что нужен билдер, либо попроси пересобрать программу без CG — это маразм делать релиз с включенным CG ——————— C++ is the steampunk of programming languages: modern ideas realized with victorian technology. |
||
|
|||
DigitSphinx |
|
||
Опытный Профиль
Репутация: нет
|
Не инт а просто ин )) ——————— Чтобы пробить стену лбом нужен или большой разбег, или много лбов. |
||
|
|||
xvr |
|
||||
Эксперт Профиль
Репутация: 48
|
Не верь ему
Найди файл *.CGL и отнеси препу — пусть исправляет свою программу. Кстати, у Code Guard есть конфигуратор, его проверки можно отключить (даже для уже собранной программы) Это сообщение отредактировал(а) xvr — 11.4.2008, 13:57 |
||||
|
|||||
DigitSphinx |
|
||
Опытный Профиль
Репутация: нет
|
——————— Чтобы пробить стену лбом нужен или большой разбег, или много лбов. |
||
|
|||
xvr |
|
||||||||
Эксперт Профиль
Репутация: 48
|
Перевожу на человеческий язык — в программе произошла попытка читать по нулевому указателю
cg32.dll — это и есть Code Guard
Между ‘должна’ и ‘работает’ есть разница |
||||||||
|
|||||||||
DigitSphinx |
|
||
Опытный Профиль
Репутация: нет
|
Это я понял, я имел ввиду что эта инфа мне не нужна )) ——————— Чтобы пробить стену лбом нужен или большой разбег, или много лбов. |
||
|
|||
|
Правила форума «С++ Builder» | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | C++ Builder | Следующая тема » |
Здравствуйте, rus blood, Вы писали:
RB>Что конкретно не работает?
Не создается объект.
В OLE/COM Object Viewer возникает ошибка:
CodeGuard detected error(s) in the program. A log file will be created.
а потом:
IClassFactory::CreateInstance failed
<No system message defined>RPC_E_SERVERFAULT ($80010105)
// CDWCDA.cpp : Implementation of CCDWCDA
#include "stdafx.h"
#include "DWCordServerNew.h"
#include "CDWCDA.h"
#include "data_access.h"
IDSADataAccess *IDataAccess = NULL;
int DWClientID = 0;
static HINSTANCE hDriver = 0;
static funcDSADriverDeInitialize *pfDSADriverDeInitialize = NULL;
////////////////////////////////////////////////////////////////////////////////////
// Constructor CCDWCDA ///////// Подключение и инициализация драйвера БД ////////////
CCDWCDA::CCDWCDA()
{
int Initialized = 0;
hDriver = LoadLibrary("bdeldw.dww");
if(hDriver) {
funcDSADriverInfo *pfDSADriverInfo = (funcDSADriverInfo*)
GetProcAddress(hDriver, "DriverInfo");
funcDSADriverInitialize *pfDSADriverInitialize = (funcDSADriverInitialize*)
GetProcAddress(hDriver, "DriverInitialize");
pfDSADriverDeInitialize = (funcDSADriverDeInitialize*)
GetProcAddress(hDriver, "DriverDeInitialize");
if(pfDSADriverInfo && pfDSADriverInitialize && pfDSADriverDeInitialize) {
if(pfDSADriverInitialize(&IDataAccess)) Initialized = 1;
}
}
else MessageBox(NULL,"bdeldw.dll load failure!","",MB_OK);
if(!Initialized) {
if(hDriver) {FreeLibrary(hDriver); hDriver = 0;}
}
DWClientID = IDataAccess->BeginWork();
if(!DWClientID) {
if(hDriver) {FreeLibrary(hDriver); hDriver = 0;}
}
}
////////////////////////////////////////////////////////////////////////////////////
// Destructor CCDWCDA ///////////////////////////////////////////////////////////////
CCDWCDA::~CCDWCDA()
{
if(!IDataAccess) return;
IDataAccess->EndWork(DWClientID);
pfDSADriverDeInitialize();
if(hDriver) {FreeLibrary(hDriver); hDriver = 0;}
IDataAccess = 0;
pfDSADriverDeInitialize = 0;
}
.... .... ....
// DWCordServerNew.idl : IDL source for DWCordServerNew.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (DWCordServerNew.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(95EFD011-C260-4813-9154-DF4436C2F6E7),
helpstring("IDWCDA Interface"),
pointer_default(unique)
]
interface IDWCDA : IUnknown
{
[helpstring("method BeginWork")] HRESULT BeginWork([out] int *Result);
[helpstring("method EndWork")] HRESULT EndWork([in] int ClientID, [out] int *Result);
[helpstring("method CurrentProblem")] HRESULT CurrentProblem([in] int ClientID, [out] int *Result);
[helpstring("method DeleteProblem")] HRESULT DeleteProblem([in] int ClientID, [in] int ProblemID, [out] int *Result);
[helpstring("method DeleteParameter")] HRESULT DeleteParameter([in] int ClientID, [in] int PID, [out] int *Result);
[helpstring("method DeleteObject")] HRESULT DeleteObject([in] int ClientID, [in] int OID, [out] int *Result);
[helpstring("method LockModel")] HRESULT LockModel([in] int ClientID, [in] int MID, [out] int *Result);
[helpstring("method UnLockModel")] HRESULT UnLockModel([in] int ClientID, [in] int MID, [out] int *Result);
[helpstring("method ModelIsLocked")] HRESULT ModelIsLocked([in] int ClientID, [in] int MID, [out] int *Result);
[helpstring("method DeleteParametersMDFNumbers")] HRESULT DeleteParametersMDFNumbers([in] int ClientID, [in] int PID, [in] int MDValues, [in] int FValues, [out] int *Result);
[helpstring("method WriteData")] HRESULT WriteData([out] int *Result, [in] int ClientID, [in] int ID, [in,out] BSTR *Data);
[helpstring("method ProblemProperties")] HRESULT ProblemProperties([out] int *Result, [in] int ClientID, [in] int Operation, [in] int ProblemID, [in] unsigned SubjectOfChange, [in, out] BSTR *Name, [in, out] BSTR *Description, [in, out] int *DWValues, [in, out] int *ChangedValues, [in, out] int *CalculatedValues, [in, out] int *MDRValues, [in, out] int *ForecastedValues);
[helpstring("method DWOperations")] HRESULT DWOperations([in] int ClientID, [in] int Operation, [out] int *Result);
[helpstring("method ParameterProperties")] HRESULT ParameterProperties([in] int ClientID, [in] int Operation, [in] int ParameterID, [in] unsigned SubjectOfChange, [in, out] BSTR *Name, [in, out] BSTR *Nick, [in, out] BSTR *Units, [in, out] long int *Period, [in, out] int *Type, [in, out] int *LinkSource, [in, out] int *ValuesType, [in, out] int *Volume, [in, out] int *MDRMethod, [in, out] int *DoCalculation, [in, out] int *DoAnomalies, [in, out] int *ForecastingMethod, [in, out] int *ForecastingHorizon, [in, out] int *DigitsAfterComma, [in, out] BSTR *ObjectsList, [in, out] BSTR *Categories, [in, out] BSTR *KELExpression, [in, out] BSTR *KELProgram, [in, out] BSTR *AnomalExpression, [in, out] BSTR *AnomalProgram, [in, out] BSTR *UserData, [in, out] unsigned long *Data1, [in, out] unsigned short *Data2, [in, out] unsigned short *Data3, [in, out] BSTR *Data4);
[helpstring("method CreateParameter")] HRESULT CreateParameter([in] int ClientID, [in] int Parent, [in, out] BSTR *Name, [in, out] BSTR *Nick, [in, out] BSTR *Units, [in, out] long int *Period, [in, out] int *Type, [in, out] int *LinkSource, [in, out] int *ValuesType, [in, out] int *Volume, [in, out] int *MDRMethod, [in, out] int *DoCalculation, [in, out] int *DoAnomalies, [in, out] int *ForecastingMethod, [in, out] int *ForecastingHorizon, [in, out] int *DigitsAfterComma, [in, out] BSTR *ObjectsList, [in, out] BSTR *Categories, [in, out] BSTR *KELExpression, [in, out] BSTR *KELProgram, [in, out] BSTR *AnomalExpression, [in, out] BSTR *AnomalProgram, [in, out] BSTR *UserData, [in, out] unsigned long *Data1, [in, out] unsigned short *Data2, [in, out] unsigned short *Data3, [in, out] BSTR *Data4);
[helpstring("method DeleteModel")] HRESULT DeleteModel([in] int ClientID, [in] int MID, [out] int *Result);
[helpstring("method DeleteData")] HRESULT DeleteData([in] int ClientID, [in] int ID, [out] int *Result);
[helpstring("method DirverProperties")] HRESULT DirverProperties([in] int ClientID);
[helpstring("method ObjectProperties")] HRESULT ObjectProperties([in] int ClientID, [in] int Operation, [in] int ObjectID, [in] unsigned SubjectOfChange, [in, out] BSTR *Properties, [out] int *Result);
[helpstring("method CreateObject")] HRESULT CreateObject([in] int ClientID, [in] int Parent, [in, out] BSTR *Properties, [out] int *Result);
[helpstring("method ModelProperties")] HRESULT ModelProperties([in] int ClientID, [in] int Operation, [in] int MID, [in] unsigned SubjectOfChange, [in, out] BSTR *Properties, [out] int *Result);
[helpstring("method CreateModel")] HRESULT CreateModel([in] int ClientID, [in] int Parent, [in, out] BSTR *Properties, [out] int *Result);
[helpstring("method ReadNumber")] HRESULT ReadNumber([in] int PID, [in] int OID, [in] __int64 Date, [in] unsigned Options, [out] double *Value, [out] double *LeftBound, [out] double *RightBound, [out] int *Result);
[helpstring("method WriteNumber")] HRESULT WriteNumber([in] int PID, [in] int OID, [in] __int64 Date, [in] int ValueType, [in] double Value, [in] double LeftBound, [in] double RightBound, [out] int *Result);
[helpstring("method DeleteNumber")] HRESULT DeleteNumber([in] int ClientID, [in] int PID, [in] int OID, [in] __int64 Date, unsigned Options, [out] int *Result);
[helpstring("method ParameterPeriod")] HRESULT ParameterPeriod([in] int PID, [out] __int64 *Result);
[helpstring("method EnumerateProblems")] HRESULT EnumerateProblems([out] int *Result, [in, out] BSTR *Problems);
[helpstring("method SelectProblem")] HRESULT SelectProblem([in] int ClientID, [in] int ProblemID, [out] int *Result);
[helpstring("method GetDate")] HRESULT GetDate([in] int ParameterID, [in] int ObjectID, [in] int Options, [out] __int64 *Result);
[helpstring("method ChangeParent")] HRESULT ChangeParent([in] int ClientID, [in] int ID, [in] int Subject, [in] int NewParent, [out] int *Result);
[helpstring("method GetParent")] HRESULT GetParent([in] int ID, [in] int Subject, [in,out] int *ParentID, [out] int *Result);
[helpstring("method GetIDOnNick")] HRESULT GetIDOnNick([in] BSTR Nick, [in] int Subject, [out] int *Result);
[helpstring("method DeleteString")] HRESULT DeleteString([in] int ClientID, [in] int PID, [in] int OID, [in] __int64 Date, [out] int *Result);
[helpstring("method CreateProblem")] HRESULT CreateProblem([in] int ClientID, [in, out] BSTR *Name, [in, out] BSTR *Description, [in, out] int *DWValues, [in, out] int *ChangedValues, [in, out] int *CalculatedValues, [in, out] int *MDRValues, [in, out] int *ForecastedValues, [out] int *Result);
};
[
uuid(A9B90FA4-CBEA-4727-9ABB-CD504C3C0C15),
version(1.0),
helpstring("DWCordServerNew 1.0 Type Library")
]
library DWCORDSERVERNEWLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(05049ACF-27E7-4B88-AB55-F1A1645029E7),
helpstring("CDWCDA Class")
]
coclass CDWCDA
{
[default] interface IDWCDA;
};
};
-
Summary
-
Files
-
Reviews
-
Support
-
News
-
Wiki
-
Discussion
-
Mailing Lists
-
Tickets ▾
- Feature Requests
- Bugs
-
Code
Menu
▾
▴
Problem destroying TDialog ?
Created:
2010-09-09
Updated:
2012-09-25
-
Hi,
Migrating an old application, I have a problem with the dialog boxes under XP,
while it’s working well under W98 ! Curiously, I have also no problems using
wine, any emulation I try…The application has a lot of dialog boxes based on a class called MyTDialog,
itself based on TDialog. Here is parts of code :Dialog1::Dialog1(TWindow* parent, TResId resId, TModule* module) :MyTDialog(parent, resId, "Dialog Title", module) { ... } MyTDialog::MyTDialog (TWindow* parent, TResId resId, LPSTR ATitle, TModule* module): TDialog(parent, resId, module) { if (ATitle!=NULL) SetCaption(ATitle); bkCtlBrush=new TBrush(TColor::White); dlgBrush=NULL; } MyTDialog::~MyTDialog () { delete dlgBrush; delete bkCtlBrush; } void MyTDialog::Destroy(int retVal) { TDialog::Destroy(retVal); Parent->PostMessage(WM_PARENTNOTIFY,WM_DESTROY,(LPARAM)Handle); }
The dialog box is called this way :
if (dialog1==NULL) { dialog1=new Dialog1(this,IDD_GRAY_TEXT,GetModule()); dialog1->Create(); } dialog1->BringWindowToTop();
With W98, all is Ok : the dialog box is created if not existing or destroyed,
shown if created but hidden by another. But with XP, it’s impossible to re-
create the box, as the dialog1 pointer is not set to NULL when the dialog is
destroyed…Is there a way to fix this without rewriting the code of all dialog boxes ?
Thks.
-
Hello,
How should the dialog1 pointer be set to NULL? In a WM_PARENTNOTIFY handler in
the parent?Jogy
-
No WM_PARENTNOTIFY handler in the application… The parent is the
application/TSDIDecFrame. As it’s working well with W98, I was supposing that
there was some way in TSDIDecFrame class to set the right pointer to NULL…Well, I could add this handler, but as I don’t understand how it works under
W98, I worry if adding the handler could make some problem ?
-
Hello,
Sorry : I was shure that TSDIDecFrame was a class of OWL library, but in fact
it’s from a personal library !It’s based on TDecoratedFrame, and the event handler for WM_PARENTNOTIFY is
done this way :void TSDIDecFrame::EvParentNotify(uint event, uint childHandleOrX, uint childIDOrY) { TDecoratedFrame::EvParentNotify(event, childHandleOrX, childIDOrY); if (event==WM_DESTROY) ForEach(DelChild,(void *)&childHandleOrX); }
Ok, I understand now how it works under W98, but why is it not working under
XP ?I think that it will work well if I add some code to set the pointer of the
deleted dialog box to null. But I should like to understand the reason of this
difference between the versions of Windows ?
-
Hello,
It depends on how the dialog1 pointer is declared … and what does the
DelChild method called from the ForEach loop do?
Have you checked if the TSDIDecFrame::EvParentNotify is actually called?Also, if dialog1 is not NULL, you can call dialog1->IsWindow() to check if it
is a valid window, and if not — then recreate it.Jogy
-
Yes, I forgot the code of DelChild :
void DelChild(TWindow *p,void *w) { if (*((HWND *)w)==p->Handle) { delete p; } }
The declaration of the pointer dialog1 is done as a global variable in
dialog1.cpp, and declared as extern in the dialog1.h.
Part of dialog1.cpp :#include ... Dialog1 *dialog1; DEFINE_RESPONSE_TABLE1(Dialog1, TDialog) ...
Part of dialog1.h :
class Dialog1 : public MyTDialog { public: Dialog1(TWindow* parent, TResId resId = IDD_DIALOG1, TModule* module = 0); ... }; extern Dialog1 *dialog1;
Note : This application has already migrated from old versions of OWL (at
least OWL2->OWL5, maybe also from OWL1) and old BCC compilers. I’m now using
BCC 5.02.But you were right : the problem is the call of TSDIDecFrame::EvParentNotify.
Under W98 (also Linux/wine, any emulation W98, XP, Vista or 7), it’s actually
called, but not under XP !!!Why ??? I tried with the same exe, and same borland/OWLNext DLLs !
Yes, checking dialog1->IsWindow() is a good idea to work around, and I’ll
probably do this if I cannot solve the problem. But at least for my curiosity,
I should like to understand what happens with Windows versions !Anyway, thank you for your help !
-
Hello,
Can you check whether the TFrameWindow::EvParentNotify() is called — if so,
then it is a problem with the response table of TSDIDecFrame.I think there shouldn’t be a general issue of EvParentNotify() because, for
example, TFrameWindow uses it to close itself when it’s client window is
destroyed:void TFrameWindow::EvParentNotify(uint event, uint childHandleOrX, uint /*childIDOrY*/) { if (event == WM_DESTROY) { if (ClientWnd && ClientWnd->GetHandle() == HWND(childHandleOrX)) PostMessage(WM_CLOSE); // using ShutDownWindow() has side effects ...
Jogy
-
the dialog1 pointer is not set to NULL when the dialog is destroyed
It is highly unusal for pointers to be magically set to NULL when what they
are pointing to is deleted. It seems that you are getting closer to
unravelling the mechanism behind this. For pointers to be deliberately reset
like this there needs to be organised ownership rules, eg. by smart pointers
(obviously not applicable to your scenario, as your pointer is a global; now
you know why they are adviced against), or some call-back mechanism, as Jogy
alludes to with the reference to EvParentNotify.But, in the code extracts you have shared so far, there is no indication of
any pointer manipulation. All the EvParentNotify handler seems to do is delete
the object of the notification, i.e the child that sent the message. Somewhere
else there must be some code that accesses the dialog1 pointer itself. I would
look up all usages of dialog1 in the code, looking for that elusive «dialog1
=» statement. If I didn’t find that, I would search for any call where the
address (or reference) of the pointer (not what it points to) could be
transferred to a third-party, e.g. «reset(&dialog1)». The key thing here is
that the dialog1 pointer can not change without a statement referring to it.
What it points to, and whether or not that object is deleted or not, is a
secondary issue, unrelated to the value of the pointer itself. Somehow,
somewhere in your code, there is probably an assignment statement setting the
pointer to 0. The other unlikely possibility is that the memory in which the
pointer lives may somehow get cleared, deliberately or as a side-effect of a
memory manipulation bug, when a window dies.Regards,
Vidar Hasfjord
-
Yes, checking dialog1->IsWindow() is a good idea to work around, and I’ll
probably do this if I cannot solve the problem. But at least for my curiosity,
I should like to understand what happens with Windows versions !This is highly suspect if you don’t know whether the object the pointer points
to is deleted or not. If the object has been deallocated the dereference will
cause a memory access violation (crash).
-
Can you check whether the TFrameWindow::EvParentNotify() is called — if so,
then it is a problem with the response table of TSDIDecFrame.I’m using the pre-compiled OWLNext DLL. Is there a way to do that with it ? If
not (what I think…), I’ll have to dowload and compile the sources.But I should surprised that there is a problem with the response table, as
TSDIDecFrame::EvParentNotify is called in some other cases, and never by the
Parent->PostMessage line in TMyDialog::Destroy()…@vattila :
Yes, I was wondering about what you say. Seems that this application has been
strangely (badly?) coded !It’s probably true that we have 2 problems :
— The way that the pointer is set to NULL (unless I missed something in the code) is probably a side effect of a bad memory manipulation.
— The TSDIDecFrame::EvParentNotify is not always called under XP.I worry more and more that this application has some serious bugs. But it’s
strange that all works well under W98, and that it had a lot of changes and
migrations, and that these problems never appeared… It has several users,
was used with W95, W98, possibly W3.11 and nobody complained… So, bugs or
not ?I’ll try to investigate more. Please, just let me know if you have some idea
or advice, and if there is a way to check the call of EvParentNotify with the
pre-compiled DLL.Thanks.
-
This is highly suspect if you don’t know whether the object the pointer
points to is deleted or not. If the object has been deallocated the
dereference will cause a memory access violation (crash).Yes, you are right. But what is strange is that :
— Under W98, the dialog box is well destroyed (the destructor is called and free memory grows) and the pointer is (how ?) well set to NULL,
— Under XP, the EvParentNotify is not called, neither the destructor of the dialog, and the pointer is not set to NULL.For a part, this seems to be, as you say, side effects of memory violations,
but for another part all seems to be logical if the call of the destructor is
not done for any reason…I’ll check if I did not miss some part of code that could explain the change
of the pointer or the call of EvParentNotify…
-
Ooops ! The pointer dialog1 is set to NULL in the Dialog1 destructor.
So, the behavior under W98 is correct and normal
The problem seems to be only the call of EvParentNotify that is not always
done under XP, when it’s always done under W98…
-
Ah, good! I was just about to press Reply and ask to see the destructor code.
Well, that confirms the obvious closing sequence; EvClose sends parent notify,
EvParentNotify deletes the child dialog; the dialog destructor clears the
pointer, right? Now the problem is just why the notification is not arriving.Have you been able to set a breakpoint in the debugger and trace the execution
from the point the dialog is closed? While stepping through the code it should
hopefully be easy to see what happens and why EvParentNotify is not called. It
may be caused by a dormant bug, e.g. an uninitialized variable disrupting the
intended program flow.
-
Yes, I have to trace the execution. But as I’m working under Linux/wine and
the problem doen’t appears here, I have first to install BCC and OWL on an XP
computer…
-
Good luck, hope you get to the bottom of it. By the way, this should be a good
opportunity to try OWLNext 6.30…
-
Thank you
All is almost ready. I’ll try to debug that next week.
I’m using OWLNext 6.30.7. I’ll install and use the last version when all
problems will be solved.
-
Hello,
Tracing the execution shows that the TSDIDecFrame::EvParentNotify is not
called under XP, but the response table is read. Under W98, the trace is the
same, but EvParentNotify is called as soon as there is a PostMessage…I cannot understand why there is this difference. What can I do more to try to
understand what happens ? How could I know if TDecoratedFrame:EvParentNotify
is called ? Am I obliged to compile OWLNext with debug option ?
-
Am I obliged to compile OWLNext with debug option ?
My advice is to do so; it shouldn’t be much trouble and could prove helpful,
for this and other problems you may run into in the future.
-
I get comfused with the libraries… The linker complains that
OWL-630-b2-si.lib is missing. Ok, I built the wrong one (owl-630-b5-dtc5i) and
I have probably to rebuild without compatibility mode and single threaded.But I want the debug version ! I don’t know what to change so that the linker
looks for the right library (it should be owl-630-b2-dsi.lib, right ?)
-
Hello,
But I want the debug version ! I don’t know what to change so that the
linker looks for the right library (it should be owl-630-b2-dsi.lib, right ?)If you are using Borland C++ 5.02, then on the project Target Expert select
«Diagnostic» — this will tell the linker to look for
the Debug/Diagnostic libraries. You may also have to select «Codeguard», as by
default in OWLNext 6.30 the debug libraries are built with CodeGuard support
and if you don’t select it, you may receive linker errors for «CG32.LIB» or
something …Jogy
-
Hello,
Sorry : I always forget this Target Expert…
I compiled successfully now the right version of the DLL, using CodeGuard. I
rebuilt the whole application, also with codeguard, but I cannot launch it : I
obtain a «Precondition» dialog box mentionning :ERROR ** !ShouldFree && !Handle ** File : module.cpp Line: 477 Select: Abort Retry Ignore
Then, another :
CodeGuard detected error(s) in the program. A log file will be created
Here is the log file :
Error 00001. 0x400000 (Thread 0x0548): Exception 0xC0000005: Access violation at 0x8825FF00. Call Tree: 0x00263134(=SHELL32.dll:0x03:069134) 0x00799F2F(=SHELL32.dll:0x03:59FF2F) 0x007BFCF2(=SHELL32.dll:0x03:5C5CF2) 0x00506EEB(=SHELL32.dll:0x03:30CEEB) 0x0050668F(=SHELL32.dll:0x03:30C68F) 0x002885C6(=SHELL32.dll:0x03:08E5C6) ------------------------------------------
What is the problem ? Is it due to the application ? I’m surprised, as with
the precompiled version, I had not this, when the application was already
using CodeGuard…
-
Here’s the code that complains with that precondition failure in «module.cpp»:
// /// Set the instance handle for a module that does not yet have one. Cannot /// be called on a module that already has an instance handle. // void TModule::SetHandle(HINSTANCE hInstance) { PRECONDITION(!ShouldFree && !Handle); Handle = hInstance; }
Seems your application is somehow calling SetHandle on a module (could be
itself) that already has an instance handle. Set your debugger to break on the
precondition exception and inspect the call stack.
-
Interesting and curious… The first call to TModule::SetHandle generates the
Precondition dialog box. The Call Stack contains this :TModule::SetHandle(this=:015649D4, hInstance=:005C0000) TModule::InitModule(this=:015649D4, hInstance=:005C0000, =NULL) JBibl50::InitModule(this=:015649D4, instance=:005C0000, cmdLine=NULL) JBibl50::JBibl50(this=:015649D4, name=:006098DD, hInstance=:005C0000) DllEntryPoint(hInstance=:005C0000, reason=1, =:0006FD30) :00288896 ; cw3230.DLL :005c1091 ; memmive :77f4a0ee ; ntdll.dll :77f58ca1 ; ntdll.dll
JBibl50 is a personnal DLL.
I wonder if the explanation is in the way it is built :
JBibl50::JBibl50(const char far* name, HINSTANCE hInstance) :TModule(name, hInstance) { InitModule(hInstance,NULL); } JBibl50::~JBibl50() { } void JBibl50::InitModule(HINSTANCE instance,const char far *cmdLine) { TModule::InitModule(instance,cmdLine); }
Is it correct ?
Another question : I did not noticed at first, but the link gives this result
:Info :application.exe: rebuild due to dependency jbibl50d.lib Info :Linking T:Devapplicationd.exe Warn : Warning: Undefined external type #@%TResponseTableEntry$t13TLayoutWindow%
Is it a problem ?
-
I wonder if the explanation is in the way it is built :
Yes, your constructor first calls the base constructor TModule(LPCTSTR name,
THandle handle, bool addToList=true) which initializes the module. Your
constructor then calls your version of InitModule which tries to initialize
the module again. Just remove that second call, and use the command line
version of the TModule constructors, TModule(LPCTSTR name, THandle handle,
LPCTSTR cmdLine, bool addToList=true), to construct the base. It will call
InitModule for you:JBibl50::JBibl50(const char far* name, HINSTANCE hInstance) :TModule(name, hInstance, NULL) {}
If there is other stuff in your override of the InitModule function that you
didn’t show above, but which needs to run in the constructor, then you will
have to factor that out into a separate private initialization function and
call that function from your constructor.Regarding your second question, I don’t know.
-
Hi,
I’m afraid that I miss some knowledge about OWL and debugging with BC5… I’ll
expose my problem, but if you can advice me some document(s) that could help
me to understand better how to do to solve this, it will probably be easier
for everybody !I modified the JBibl50 constructor as you adviced (just changed :TModule(name,
hInstance, (char *)NULL) to solve an ambiguity error), but I still have
some execution problems.The TModule constructor is called twice, with these call stacks :
Then, the execution continues with the JBibl50 constructor, finishes the
DLLEntrtyPoint funtion, and then a message «Access violation» occurs (the
execution trace is still on the closing brace at the end of DllEntryPoint). As
soon as I close the message box, the BC5 ide closes itself, so I cannot know
what happens exactly.I don’t know what to do to make this working properly… I’m sure that a
better understanding of how to make a DLL enhancing or modifying the OWL
classes should help me to understand and correct the code of JBibl50. Maybe
just a good example showing how to do such a DLL…
Anonymous
В последнее время в программе возникали различные ошибки нелегального доступа. Найти такую ошибку гораздо сложнее. Я видел инструмент Codeguard, который поставляется с BCB, в Интернете. Говорят, что он очень полезен. Я изучил его, но его очень просто протестировать. Пример, я чувствую себя довольно хорошо, следующий процесс тестирования:
Создать программу:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char * p = new char; // Применить память, нет выпуска
}
//---------------------------------------------------------------------------
Включить отладку codeguard:
Щелкните правой кнопкой мыши Параметры проекта
F9 запускает программу, и результат запрашивает: требуется разделенный сегмент данных
Я давно не нашел решения в Интернете и, наконец, нашел решение на форуме embarcadero. Ниже приведен URL
https://forums.embarcadero.com/thread.jspa?messageID=519396&tstart=0#519396
Options-C ++ Linker-Dynamic RTL имеет значение false
Опции-пакеты-пакеты времени выполнения Удалите «√» перед сборкой с пакетами времени выполнения
После перекомпиляции он запускается нормально. После закрытия программы вы можете найти файл суффикса cgl в каталоге exe. Содержимое:
Error 00176. 0x300010 (Thread 0x13DC):
Resource leak: The object (0x2483390) was never deleted
The object (0x02483390) [size: 1 bytes] was created with new
Call Tree:
0x00401E2C(=Project1.exe:0x01:000E2C) Unit1.cpp#19
0x00498161(=Project1.exe:0x01:097161) Controls.pas#7178
0x0049C4BD(=Project1.exe:0x01:09B4BD) Controls.pas#9819
0x004564C1(=Project1.exe:0x01:0554C1) StdCtrls.pas#4364
0x0049C610(=Project1.exe:0x01:09B610) Controls.pas#9888
0x0049C4BD(=Project1.exe:0x01:09B4BD) Controls.pas#9819
0x0047B94D(=Project1.exe:0x01:07A94D) Forms.pas#3960
0x0049BB5B(=Project1.exe:0x01:09AB5B) Controls.pas#9540
0x00421F8E(=Project1.exe:0x01:020F8E) Classes.pas#13015
0x7428D2B3(=USER32.dll:0x01:02C2B3)
0x7426E88A(=USER32.dll:0x01:00D88A)
0x7429764B(=USER32.dll:0x01:03664B)
0x74270C00(=USER32.dll:0x01:00FC00)
0x6BE4D36F(=COMCTL32.DLL:0x01:04C36F)
0x6BE5D065(=COMCTL32.DLL:0x01:05C065)
------------------------------------------
Functions called:
fflush (4 times)
delete (21 times)
memset (2 times)
SysReallocMem (68 times)
SysFreeMem (611 times)
SysGetMem (612 times)
free (20 times)
_lsetlocale (6 times)
new (31 times)
calloc (9 times)
strlen (131 times)
realloc (1 times)
strdup (5 times)
malloc (5 times)
memcpy (11 times)
Resource types used:
object (31 allocs, 31 max)
memory block (632 allocs, 312 max)
Modules used:
00400000 07/11/2018 16:14:58 C:UsersyuwpDesktop111DebugProject1.exe
052B0000 02/24/2017 19:25:32 C:Program Files
(x86)SogouInput8.2.0.9335Resource.dll
0CD00000 04/05/2016 06:55:00 C:Program Files
(x86)EmbarcaderoStudio18.0binCG32.DLL
10000000 03/02/2017 12:08:14 C:Windowssystem32SogouPy.ime
50030000 04/05/2016 06:55:00 C:Program Files
(x86)EmbarcaderoStudio18.0binborlndmm.DLL
646A0000 07/16/2016 19:42:46 C:Windowssystem32apphelp.dll
6AC00000 01/10/2017 08:32:32 C:Program Files
(x86)SogouInputComponentsPicFace1.0.0.1630PicFace.dll
6AEE0000 10/10/2017 10:58:02 C:WindowsSYSTEM32OLEACC.dll
6B2D0000 10/10/2017 10:58:36 C:WindowsSYSTEM32iertutil.dll
6B720000 10/10/2017 10:58:36 C:WindowsSYSTEM32urlmon.dll
6BC80000 09/16/2016 01:13:52 C:WindowsSYSTEM32dwmapi.dll
6BE00000 10/10/2017 10:58:22
C:WindowsWinSxSx86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.
14393.953_none_89c2555adb023171COMCTL32.DLL
6C230000 07/16/2016 19:42:50 C:WindowsSYSTEM32MSACM32.dll
6C480000 07/16/2016 19:43:06 C:WindowsSYSTEM32UxTheme.dll
6F720000 10/10/2017 10:57:56 C:WindowsSYSTEM32MPR.dll
6F740000 10/10/2017 10:57:56 C:WindowsSYSTEM32ntmarta.dll
70000000 07/16/2016 19:42:56 C:WindowsSYSTEM32samcli.dll
70020000 07/16/2016 19:42:50 C:WindowsSYSTEM32WINMMBASE.dll
70050000 07/16/2016 19:42:50 C:WindowsSYSTEM32WINMM.dll
70080000 10/10/2017 10:58:32 C:WindowsSYSTEM32WINSPOOL.DRV
703C0000 07/16/2016 19:42:50 C:WindowsSYSTEM32MSIMG32.DLL
72CF0000 10/10/2017 10:57:56 C:WindowsSYSTEM32bcrypt.dll
73B10000 07/16/2016 19:43:06 C:WindowsSYSTEM32VERSION.dll
73B30000 07/16/2016 19:42:56 C:WindowsSYSTEM32USERENV.dll
73B50000 07/16/2016 19:42:50 C:WindowsSystem32CRYPTBASE.dll
73B60000 10/10/2017 10:58:20 C:WindowsSystem32SspiCli.dll
73B80000 10/10/2017 10:58:22 C:WindowsSystem32KERNELBASE.dll
73D30000 07/16/2016 19:42:56 C:WindowsSystem32msvcp_win.dll
73E00000 10/10/2017 10:58:18 C:WindowsSystem32ole32.dll
73F90000 09/16/2016 01:37:06 C:WindowsSystem32WS2_32.dll
74000000 10/10/2017 10:58:04 C:WindowsSystem32ucrtbase.dll
740F0000 07/16/2016 19:42:48 C:WindowsSystem32clbcatq.dll
74180000 10/10/2017 10:58:18 C:WindowsSystem32KERNEL32.DLL
74260000 10/10/2017 10:58:08 C:WindowsSystem32USER32.dll
743C0000 10/10/2017 10:58:02 C:WindowsSystem32shcore.dll
74550000 10/10/2017 10:58:02 C:WindowsSystem32gdi32full.dll
746B0000 10/10/2017 10:58:02 C:WindowsSystem32MSCTF.dll
747F0000 07/16/2016 19:42:56 C:WindowsSystem32cfgmgr32.dll
74830000 07/16/2016 19:42:50 C:WindowsSystem32profapi.dll
74840000 10/10/2017 10:58:20 C:WindowsSystem32RPCRT4.dll
74910000 07/16/2016 19:42:50 C:WindowsSystem32msvcrt.dll
749D0000 10/10/2017 10:58:22 C:WindowsSystem32SHELL32.dll
75DB0000 07/16/2016 19:42:56 C:WindowsSystem32powrprof.dll
75E00000 08/02/2016 12:47:22 C:WindowsSystem32win32u.dll
75E20000 10/10/2017 10:58:20 C:WindowsSystem32sechost.dll
75E80000 07/16/2016 19:42:46 C:WindowsSystem32PSAPI.DLL
76240000 10/10/2017 10:58:26 C:WindowsSystem32bcryptPrimitives.dll
762A0000 10/10/2017 10:58:08 C:WindowsSystem32GDI32.dll
762D0000 07/16/2016 19:42:56 C:WindowsSystem32kernel.appcore.dll
762E0000 10/10/2017 10:57:56 C:WindowsSystem32combase.dll
76560000 10/10/2017 10:57:56 C:WindowsSystem32OLEAUT32.dll
76600000 10/10/2017 10:58:04 C:WindowsSystem32windows.storage.dll
76B70000 07/16/2016 19:42:50 C:WindowsSystem32advapi32.dll
76BF0000 07/16/2016 19:42:50 C:WindowsSystem32IMM32.DLL
77050000 07/16/2016 19:43:04 C:WindowsSystem32SHLWAPI.dll
770A0000 10/10/2017 10:58:26 C:WindowsSYSTEM32ntdll.dll
787E0000 10/10/2017 10:58:00 C:WindowsAppPatchAcGenral.DLL
==========================================
Сообщение об ошибке подробно описано в начале
В строке 19 файла Unit1.cpp был запрошен 1 байт и он не освобожден
При записи данных в файл и закрытии файла CodeGuard генерирует ошибки.
char *buffer = new char[10];
char data[] = "abcdefghij";
memcpy(&buffer[0], &data[0], 10);
//create file
ofstream myfile("d:/output.txt", std::ofstream::binary);
//write data
myfile.write(&buffer[0], 10);//at this line the CodeGuard throws an ERROR-1
delete []buffer;
myfile.close();//at this line the CodeGuard throws an ERROR-2
ERROR-1: Bad parameter in process: Project1.exe(3916) — c:program files (x86)embarcaderostudio15.0includedinkumwarefstream#246
A bad file or pipe stream (0x320D096C) has been passed to the function.
0x0040AC80 Call to fputc(0x61 [‘a’], 0x320D096C)ERROR-2: Bad parameter in process: Project1.exe(3916) — c:program files (x86)embarcaderostudio15.0includedinkumwarefstream#180
A bad file stream (0x320D096C) has been passed to the function.
0x32088358 Call to [via 0x0040D030] fclose(0x320D096C)
Как это исправить?
Upd-1:
ofstream myfile("d:/output.txt", std::ofstream::binary | std::ofstream::out);
char buffer[] = "abcdefghij";
//
if (myfile.is_open())
{
myfile.write(reinterpret_cast<char*>(&buffer[0]), 11);//+1 for
}
myfile.close();
Но результат все тот же.
Я пробовал использовать образец кода из http://www.cplusplus.com/reference/ostream/ostream/write/
И теперь CodeGuard выдает следующие ошибки:
ERROR-1: Bad parameter in process:
Project1.exe(5908) A bad file or pipe stream (0x3224096C) has been
passed to the function. 0x0040DE48 Call to fseek(0x3224096C, 0x0 [0],
0x2 [2])ERROR-2: Bad parameter in process: Project1.exe(5908) A bad file or pipe stream
(0x3224096C) has been passed to the function. 0x0040DE48 Call to
fgetpos(0x3224096C, 0x0018F294)ERROR-3: Bad parameter in process: Project1.exe(5908) A bad file or pipe stream
(0x3224096C) has been passed to the function. 0x0040DE48 Call to
fsetpos(0x3224096C, 0x0018F28C)ERROR-4: Bad parameter in process: Project1.exe(5908) A bad file or pipe stream
(0x3224096C) has been passed to the function. 0x0040DE48 Call to
fgetc(0x3224096C)ERROR-5: Bad parameter in process: Project1.exe(5908) A bad file or pipe stream
(0x32240984) has been passed to the function. 0x0040DE48 Call to
fputc(0x78 [‘x’], 0x32240984)ERROR-6: Bad parameter in process: Project1.exe(5908) A bad file stream
(0x32240984) has been passed to the function. 0x321F832C Call to [via
0x0041177E] fclose(0x32240984)
Я тестировал этот код на C++ Builder XE7, XE8 и С ++ Builder 10.1 Berlin. И во всех случаях CodeGuard обнаруживал эти ошибки.
-
#1
Valve отредактировала карты = сломали (в очередной раз) сервера сообщества
Сменились сигнатуры и тем самым сервера ушли в постоянный краш (см 1.10)
[MaZa] [HotGuard] — Failed Offset 1
[SM] Unable to load extension «hotguard.ext»:
[SDKTOOLS] Sigscan for WriteBaselines failed
[SDKTOOLS] Failed to find WriteBaselines signature — stringtable error workaround disabled.
[AntiDLL] Sigscan for Signature failed
[SM] Unable to load extension «AntiDLL.ext»: Failed to create interceptor
[SM] Failed to load plugin «hotguard.smx»: Unable to load plugin (bad header).
[SM] Unable to load plugin «AntiDLL.smx»: Required extension «AntiDLL» file(«AntiDLL.ext») not running
[SM] Exception reported: Failed to get engine poiters. Data: 0, 0, F0D92D44, F0E311CC.
[SM] Blaming: block_print_garbage_messages.smx
[SM] Call stack trace:
[SM] [0] SetFailState
[SM] [1] Line 48, d:SourcePawn1.10block_print_garbage_messages.sp::OnPluginStart
[SM] Unable to load plugin «block_print_garbage_messages.smx»: Error detected in plugin startup (see error logs)
[SM] Unable to load plugin «CrashPlayer_AntiDLL.smx»: Required extension «AntiDLL» file(«AntiDLL.ext») not running
[SM] Exception reported: Can’t get offset for «CBaseServer::RejectConnection».
[SM] Blaming: server_redirect.smx
[SM] Call stack trace:
[SM] [0] SetFailState
[SM] [1] Line 9, server_redirect/redirect.sp::SetupSDKCalls
[SM] [2] Line 198, C:UsersartDesktopaddonsёsourcemodscriptingserver_redirect.sp::OnPluginStart
[SM] Unable to load plugin «server_redirect.smx»: Error detected in plugin startup (see error logs)
[SM] Exception reported: Failed to load CBaseServer::IsExclusiveToLobbyConnections signature from gamedata
[SM] Blaming: nolobbyreservation.smx
[SM] Call stack trace:
[SM] [0] SetFailState
[SM] [1] Line 87, nolobbyreservation.sp::OnPluginStart
[SM] Unable to load plugin «nolobbyreservation.smx»: Error detected in plugin startup (see error logs)
Послетали сигнатуры
CBaseServer::RejectConnection
CBaseServer::IsExclusiveToLobby
upd: Если хотите до сих пор использовать см 1.10 linux — скачивайте архив с см 1.11 6928, оттуда переносите все файлы из папки addons/sourcemod/gamedata/ с заменой. (остальные файлы из других папок не трогайте)
Под остальные плагины исправления — ищите файлы с фиксом сигнатур в соответствующих темах.
Последнее редактирование: Суббота в 10:30
-
#661
Сервер работает минут 10-15 и крашится. Отключил папку plugins и запустил без плагинов и не крашит. Сейчас сижу перебираю, какой из плагинов крашит его.
-
#662
@j1ton, все скрипты скомпилируй под обнову, у меня всё работает, только вип шприцы не робят, жду обнову
Последнее редактирование: Суббота в 14:43
-
#663
у кого нибудь крашит при смене карты? или только у меня, все обновлено… без единой ошибки
Сообщения автоматически склеены: Суббота в 14:41
@j1ton, все скрипты скомпилируй под обнову, у меня всё работает, только вип шприцы не робят, жду обнову
upd: серв падает спустя минут 10 онлайна, ошибка чтения errors_log, не знаю в чём трабл
gamedatу обнови и все.
Последнее редактирование: Суббота в 14:41
-
#664
у кого нибудь крашит при смене карты? или только у меня, все обновлено… без единой ошибки
Сообщения автоматически склеены: Суббота в 14:41
gamedatу обнови и все.
мне не помогла обнова gamedata, у меня проблема в каком-то плагине видимо, вот сижу ищу
-
#665
у кого нибудь крашит при смене карты? или только у меня, все обновлено… без единой ошибки
Сообщения автоматически склеены: Суббота в 14:41
gamedatу обнови и все.
так же. При компиляции пишет ошибки в синтаксисе.
-
#666
У меня sourcemod 1.11 сервер отлично работает, только проблема с плагином shop_skins.smx (не выключаются скины) и с плагином res.smx (не проигрывается музыка)
Приложу свои gamedata и extensions, (не нужное вам, удалите) попробуйте.
» Не забудьте в /addons/sourcemod/configs/core.cfg «DisableAutoUpdate» поставить на «yes» «
-
gamedata.zip
135.7 КБ
· Просмотры: 24
-
extensions.zip
22.1 МБ
· Просмотры: 24
-
#667
L 02/04/2023 - 15:11:04: Info (map "de_mirage") (file "/home/server26921/game/csgo/addons/sourcemod/logs/errors_20230204.log")
L 02/04/2023 - 15:11:04: [SM] Exception reported: Failed to create native "BaseComm_IsClientGagged", name is probably already in use
L 02/04/2023 - 15:11:04: [SM] Blaming: basecomm.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] CreateNative
L 02/04/2023 - 15:11:04: [SM] [1] Line 71, /home/builds/sourcemod/debian9-1.11/build/plugins/basecomm.sp::AskPluginLoad2
L 02/04/2023 - 15:11:04: [SM] Failed to load plugin "basecomm.smx": unexpected error 23 in AskPluginLoad callback.
L 02/04/2023 - 15:11:04: [AntiDLL] Sigscan for Signature failed
L 02/04/2023 - 15:11:04: [SM] Unable to load extension "AntiDLL.ext": Failed to create interceptor
L 02/04/2023 - 15:11:04: [Discord/DropsSummoner_discord.smx] At address g_pDropForAllPlayersPatch received not what we expected, drop for all players will be unavailable.
L 02/04/2023 - 15:11:04: [SM] Exception reported: [System Panel] [Users Chat DataBase] Failed to connection SP_users in databased.cfg
L 02/04/2023 - 15:11:04: [SM] Blaming: users_chat.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 39, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_chat.sp::Connection_BD
L 02/04/2023 - 15:11:04: [SM] [2] Line 31, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_chat.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "users_chat.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Exception reported: [MA] Database failure: Could not find Database conf "materialadmin"
L 02/04/2023 - 15:11:04: [SM] Blaming: admin/materialadmin.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 44, materialadmin/database.sp::ConnectBd
L 02/04/2023 - 15:11:04: [SM] [2] Line 16, materialadmin/database.sp::MAConnectDB
L 02/04/2023 - 15:11:04: [SM] [3] Line 286, materialadmin.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "admin/materialadmin.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "admin/ma_mutenotification.smx": Could not find required plugin "materialadmin"
L 02/04/2023 - 15:11:04: [SM] Exception reported: [Clans] No database configuration in databases.cfg!
L 02/04/2023 - 15:11:04: [SM] Blaming: clans/clans.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 11, clans/database.sp::ConnectToDatabase
L 02/04/2023 - 15:11:04: [SM] [2] Line 240, A:ssmodscriptingclans.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "clans/clans.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "clans/clan_createall.smx": Native "Clans_GetClientTimeToCreateClan" was not found
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "clans/clans_coinsbykill.smx": Native "Clans_AreClansLoaded" was not found
L 02/04/2023 - 15:11:04: [SM] Exception reported: [CustomPlayerArms] - Не удалось получить адрес s_playerViewmodelArmConfigs
L 02/04/2023 - 15:11:04: [SM] Blaming: CustomPlayerArms.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 38, C:UsersanakaineDesktopxxxCustomPlayerArms.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "CustomPlayerArms.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:04: [SM] Exception reported: [System Panel] [Users Visits DataBase] Failed to connection SP_users in databased.cfg
L 02/04/2023 - 15:11:04: [SM] Blaming: users_visits.smx
L 02/04/2023 - 15:11:04: [SM] Call stack trace:
L 02/04/2023 - 15:11:04: [SM] [0] SetFailState
L 02/04/2023 - 15:11:04: [SM] [1] Line 28, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_visits.sp::Connection_BD
L 02/04/2023 - 15:11:04: [SM] [2] Line 23, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers_visits.sp::OnPluginStart
L 02/04/2023 - 15:11:04: [SM] Unable to load plugin "users_visits.smx": Error detected in plugin startup (see error logs)
L 02/04/2023 - 15:11:05: [SM] Unable to load plugin "vip/vip_clancreate.smx": Native "Clans_SetCreatePerm" was not found
L 02/04/2023 - 15:11:05: [SM] Unable to load plugin "Admins.smx": Could not find required plugin "materialadmin"
L 02/04/2023 - 15:11:05: [SM] Exception reported: [System Panel] [Users DataBase] Failed to connection SP_users in databased.cfg
L 02/04/2023 - 15:11:05: [SM] Blaming: users.smx
L 02/04/2023 - 15:11:05: [SM] Call stack trace:
L 02/04/2023 - 15:11:05: [SM] [0] SetFailState
L 02/04/2023 - 15:11:05: [SM] [1] Line 44, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers.sp::Connection_BD
L 02/04/2023 - 15:11:05: [SM] [2] Line 21, c:UsersauthtDesktopplugins-syspaneladdonssourcemodscriptingusers.sp::OnPluginStart
L 02/04/2023 - 15:11:05: [SM] Unable to load plugin "users.smx": Error detected in plugin startup (see error logs)
есть фиксы этих плагинов?
-
#668
У меня sourcemod 1.11 сервер отлично работает, только проблема с плагином shop_skins.smx (не выключаются скины) и с плагином res.smx (не проигрывается музыка)
Приложу свои gamedata и extensions, (не нужное вам, удалите) попробуйте.
» Не забудьте в /addons/sourcemod/configs/core.cfg «DisableAutoUpdate» поставить на «yes» »
включаю сервер и при запуске он включается но в консоле пишет Could not establish connection to Steam servers.
-
#669
Тоже замечаю краши, но пока понять не могу из за какого плагина…
-
#670
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVServer::BroadcastLocalChat failed
L 02/04/2023 - 15:29:43: [STVM] CHLTVServer::BroadcastLocalChat detour could not be initialized.
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StartRecording failed
L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StartRecording detour could not be initialized.
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StopRecording failed
L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StopRecording detour could not be initialized.
L 02/04/2023 - 15:29:43: [STVM] Failed to get CHLTVServer::m_DemoRecorder offset.
gamedata sourcetvmanager.
-
#671
Тоже замечаю краши, но пока понять не могу из за какого плагина…
Попробуй выключить всё, что связано со скинами(shop, ws, vip)
У меня к примеру после оф. Фикса не стартовал сервер с ws о фени.
И осталась одна ошибка:
[CSTRIKE] [CStrike] Failed to locate NET_SendPacket signature.
Решил попробовать перейти на 1.12 но без изменений, ошибка так и осталась.
Можете подсказать, что это и как решить? Буду очень благодарен
-
#672
L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVServer::BroadcastLocalChat failed L 02/04/2023 - 15:29:43: [STVM] CHLTVServer::BroadcastLocalChat detour could not be initialized. L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StartRecording failed L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StartRecording detour could not be initialized. L 02/04/2023 - 15:29:43: [STVM] Sigscan for CHLTVDemoRecorder::StopRecording failed L 02/04/2023 - 15:29:43: [STVM] CHLTVDemoRecorder::StopRecording detour could not be initialized. L 02/04/2023 - 15:29:43: [STVM] Failed to get CHLTVServer::m_DemoRecorder offset.
gamedata sourcetvmanager.
Решение.
-
sourcetvmanager.games.txt
12.5 КБ
· Просмотры: 14
-
#673
есть какие ни будь рабочие gamedata и extensions на 1.11 то уже все перепробовал нечего не хочет запускаться
-
#674
есть какие ни будь рабочие gamedata и extensions на 1.11 то уже все перепробовал нечего не хочет запускаться
листай тему, тут всё скидывали.
У меня всё запускается и всё работает, но вот проблема в том что у меня сервер онли мираж, и почему он меняет карту на рандомную и сервер крашится.
-
#675
листай тему, тут всё скидывали.
У меня всё запускается и всё работает, но вот проблема в том что у меня сервер онли мираж, и почему он меняет карту на рандомную и сервер крашится.
те которые кидали не работают
-
#676
Есть у кого сошка феникса под 1.11?
-
#677
кинте пожалуйста basecomm.smx рабочий
-
#678
Есть у кого сошка феникса под 1.11?
На 1.11 нет сошки, если не ошибаюсь
-
#680
у кого то было что тоже не робит AntiDLL?
Unable to load plugin "AntiDLL.smx": Required extension "AntiDLL" file("AntiDLL.ext") not running