Active Threads | Active Posts | Unanswered Today | Since Yesterday | This Week
PL/SQL Developer Jump to new posts
Re: pl sql developer, insert sequence nextvalue into datatype number(20,6) bug ppc 02/04/23 12:34 AM
number fields to char is not conducive to the processing and viewing of data in some cases,
can you fix the bug?
Thanks!
2 41 Read More
PL/SQL Developer Jump to new posts
Re: Folder PFinfo and file files.info Marco Kalter 02/03/23 09:51 AM
This feature existed before version 14.0. The preference is stored in %APPDATA%\PLSQL Developer [version]\Preferences\[user]\default.ini, like all other preferences.
3 71 Read More
PL/SQL Developer Jump to new posts
Re: Edit Specifcation patch 02/02/23 04:43 AM
If you right_click the object and choose view or edit, it will open only the spec resp. body.
You can also download my 'SaveSeparate' plugin from https://plugins.bar-solutions.com/
2 58 Read More
PL/SQL Developer Jump to new posts
Re: Export results to clipboard request Marco Kalter 02/01/23 09:33 AM
We'll fix it!
1 52 Read More
PL/SQL Developer Jump to new posts
Re: PL/SQL Developer 14.0.6 - ORA-01804 connection to Oracle 19c database Marco Kalter 02/01/23 09:33 AM
There may be an Oracle Client configuration issue with the OraClient12Home1 home.

Does the OraClient19Home1 function correctly?
1 50 Read More
PL/SQL Developer Jump to new posts
Re: PL/SQL D 15 Copy performance kcl 01/30/23 06:35 AM
Hi all - here is another suggestion where I feel I had some improvement in the app's performance:

1. Make a note of all your preference settings that you've modified.
2. Close PL/SQL-D (make sure you're running 64bit)
3. Move all of the "old" preferences to a backup location: your username directory shouldn't be in the Preference folder anymore:
C:\Users\<Your Username>\AppData\Roaming\PLSQL Developer 15\Preferences\<Your Username>
4. Start up PL/SQL-D (it should now start up with the default system preferences)
5. Manually add in your old Preferences or leave it default.

Also remember to do the following:
Disable Clipboard History
Disable Include font style with copy
Under "Object Browser" - ensure that the "Default user selection" is set to CURRENT USER

Another suggestion I see from the previous post, is not to use dark mode - I haven't tried this, but with the above I'm currently running dark mode.
21 2,224 Read More
PL/SQL Developer Jump to new posts
Re: Setting default font for Copy to Excel Frank Huijbreghs 01/24/23 10:09 AM
Hi Marco,

I would like to have the default font for Excel files separate from the grid font.
Can you add that to the list of enhancements?
6 5,261 Read More
Direct Oracle Access Jump to new posts
Re: oracle connection problem in 64 bit add-in Andras Boros 01/23/23 01:26 PM
Great! It works! Thank you very much!
8 131 Read More
PL/SQL Developer Jump to new posts
rrProject Plug-in V2.3.2 Starina 01/20/23 08:48 AM
Hi.

A new version of the rrProject plug-in for x86 and x64 platforms are available for download.

Changes in V2.3.2:

~ Engine: Support visual styles for V15+.
+ Wizard: IDE Enhancements: Added Mouse Wheel Horizontal Scroll Tool;
+ Wizard: IDE Enhancements: Added Double-Click Tool;
+ Wizard: IDE Enhancements: Compare tools: Added support clipboard.
+ Wizard: Code Editor Wizard: Code Editor Block Menu Tool: Added support Text Editor Enhancements.
+ Wizard: Text Editor Enhancements: Added Duplicate Selected Lines Tool.
~ Wizard: Code Editor Wizard: Section Selection Tool: Support V15+.
~ Wizard: Code Editor Wizard: Jump to Section Start/End Tool: Support V15+.
~ Engine: Fixed the standalone menu mode for version under 12.0.
+ Wizard: IDE Enhancements: Added URL Link Assistant.
+ Wizard: IDE Enhancements: Added Double-Tap Control Key Tool.
0 84 Read More
PL/SQL Developer Jump to new posts
Re: Undocument API function lost 01/18/23 07:44 PM
summary
Code
void (*IDE_SetSelectedText)(char *p) = (void(*)(char*)) 155;
char*(*IDE_MainApplication)() = (char*(*)()) 170;
int  (*IDE_MainForm)() = (int(*)()) 171;
int  (*IDE_Mouse)(int) = (int(*)(int)) 172;
char*(*IDE_GetSyntaxAnalyzer)(char *Name) = (char*(*)(char*)) 177;
int  (*IDE_290)() = (int(*)()) 290;
void*(*IDE_291)(char *p) = (void*(*)(char*)) 291;
4 1,930 Read More
PL/SQL Developer Jump to new posts
Re: IDE_GetSelectedText Callback for C# Plugin lost 01/17/23 08:49 PM
1 94 Read More
PL/SQL Developer Jump to new posts
Fixed C headers lost 01/17/23 08:46 PM
Hello, guys!
I remembered, that about a year ago or more I made a review of C declarations for all PL/SQL Developer v14 callback functions. I found many mistakes in documentation file plugindoc.pdf and in header files available in PlugInDoc folder.
I like pure ASM and C and minimalism smile So, this is my version, every function was checked: some successfully used by my plugin or in test-cases, and the signatures of the rest was compared with disassembled code in IDA.

How to use it:
1. Define structure, that receive functions' addresses through RegisterCallback()
You may [un]comment any function placeholders without worrying about gaps. But note the ascending order of indexes!

Code
struct {
//int  (*SYS_Version)() = (int(*)()) 1;
//char*(*SYS_Registry)() = (char*(*)()) 2;
//char*(*SYS_RootDir)() = (char*(*)()) 3;
//char*(*SYS_OracleHome)() = (char*(*)()) 4;
//char*(*SYS_OCIDLL)() = (char*(*)()) 5;
//BOOL (*SYS_OCI8Mode)() = (BOOL(*)()) 6;
//BOOL (*SYS_XPStyle)() = (BOOL(*)()) 7;
//char*(*SYS_TNSNAMES)(char *Param) = (char*(*)(char*)) 8;
//int  (*SYS_DelphiVersion)() = (int(*)()) 9;
  void (*IDE_MenuState)(int ID, int Index, BOOL Enabled) = (void(*)(int, int, BOOL)) 10;
//BOOL (*IDE_Connected)() = (BOOL(*)()) 11;
  void (*IDE_GetConnectionInfo)(char** Username, char** Password, char** Database) = (void(*)(char**, char**, char**)) 12;
//void (*IDE_GetBrowserInfo)(char **ObjectType, char **ObjectOwner, char **ObjectName) = (void(*)(char**, char**, char**)) 13;
  int  (*IDE_GetWindowType)() = (int(*)()) 14;
//int  (*IDE_GetAppHandle)() = (int(*)()) 15;
  HWND (*IDE_GetWindowHandle)() = (HWND(*)()) 16;
//HWND (*IDE_GetClientHandle)() = (HWND(*)()) 17;
  HWND (*IDE_GetChildHandle)() = (HWND(*)()) 18;
  void (*IDE_Refresh)() = (void(*)()) 19;
//void (*IDE_CreateWindow)(int WindowType, char *Text, BOOL Execute) = (void(*)(int, char*, BOOL)) 20;
//BOOL (*IDE_OpenFile)(int WindowType, char *Filename) = (BOOL(*)(int, char*)) 21;
//BOOL (*IDE_SaveFile)() = (BOOL(*)()) 22;
//char*(*IDE_Filename)() = (char*(*)()) 23;
//void (*IDE_CloseFile)() = (void(*)()) 24;
  void (*IDE_SetReadOnly)(BOOL ReadOnly) = (void(*)(BOOL)) 25;
  BOOL (*IDE_GetReadOnly)() = (BOOL(*)()) 26;
//BOOL (*IDE_ExecuteSQLReport)(char *SQL, char *Title, BOOL Updateable) = (BOOL(*)(char*, char*, BOOL)) 27;
//BOOL (*IDE_ReloadFile)() = (BOOL(*)()) 28;
//void (*IDE_SetFilename)(char *Filename) = (void(*)(char*)) 29;
//char*(*IDE_GetText)() = (char*(*)()) 30;
  char*(*IDE_GetSelectedText)() = (char*(*)()) 31;
  char*(*IDE_GetCursorWord)() = (char*(*)()) 32;
  int  (*IDE_GetEditorHandle)() = (int(*)()) 33;
//BOOL (*IDE_SetText)(char *Text) = (BOOL(*)(char*)) 34;
//BOOL (*IDE_SetStatusMessage)(char *Text) = (BOOL(*)(char*)) 35;
//BOOL (*IDE_SetErrorPosition)(int Line, int Col) = (BOOL(*)(int, int)) 36;
//void (*IDE_ClearErrorPositions)() = (void(*)()) 37;
//int  (*IDE_GetCursorWordPosition)() = (int(*)()) 38;
//BOOL (*IDE_Perform)(int Param) = (BOOL(*)(int)) 39;
//int  (*SQL_Execute)(char *SQL) = (int(*)(char*)) 40;
//int  (*SQL_FieldCount)() = (int(*)()) 41;
//BOOL (*SQL_Eof)() = (BOOL(*)()) 42;
//int  (*SQL_Next)() = (int(*)()) 43;
//char*(*SQL_Field)(int Field) = (char*(*)(int)) 44;
//char*(*SQL_FieldName)(int Field) = (char*(*)(int)) 45;
//int  (*SQL_FieldIndex)(char *Name) = (int(*)(char*)) 46;
//int  (*SQL_FieldType)(int Field) = (int(*)(int)) 47;
//char*(*SQL_ErrorMessage)() = (char*(*)()) 48;
//BOOL (*SQL_UsePlugInSession)(int PlugInID) = (BOOL(*)(int)) 50;
//void (*SQL_UseDefaultSession)(int PlugInID) = (void(*)(int)) 51;
//BOOL (*SQL_CheckConnection)() = (BOOL(*)()) 52;
//char*(*SQL_GetDBMSGetOutput)() = (char*(*)()) 53;
//void (*SQL_SetVariable)(char *Name, char *Value) = (void(*)(char*, char*)) 54;
//char*(*SQL_GetVariable)(char *Name) = (char*(*)(char*)) 55;
//void (*SQL_ClearVariables)() = (void(*)()) 56;
//BOOL (*SQL_SetPlugInSession)(int PlugInID, char *Username, char *Password, char *Database, char *ConnectAs) = (BOOL(*)(int, char*, char*, char*, char*)) 57;
//char*(*IDE_GetCustomKeywords)() = (char*(*)()) 60;
//void (*IDE_SetCustomKeywords)(char *Keywords) = (void(*)(char*)) 61;
//void (*IDE_SetKeywords)(int ID, int Style, char *Keywords) = (void(*)(int, int, char*)) 62;
//void (*IDE_ActivateKeywords)() = (void(*)()) 63;
//void (*IDE_RefreshMenus)(int ID) = (void(*)(int)) 64;
//void (*IDE_SetMenuName)(int ID, int Index, char *Name) = (void(*)(int, int, char*)) 65;
//void (*IDE_SetMenuCheck)(int ID, int Index, BOOL Enabled) = (void(*)(int, int, BOOL)) 66;
//void (*IDE_SetMenuVisible)(int ID, int Index, BOOL Enabled) = (void(*)(int, int, BOOL)) 67;
//char*(*IDE_GetMenulayout)() = (char*(*)()) 68;
//void (*IDE_CreatePopupItem)(int ID, int Index, char *Name, char *ObjectType) = (void(*)(int, int, char*, char*)) 69;
//BOOL (*IDE_SetConnection)(char *Username, char *Password, char *Database) = (BOOL(*)(char*, char*, char*)) 70;
//void (*IDE_GetObjectInfo)(char *AnObject, char **ObjectType, char **ObjectOwner, char **ObjectName, char **SubObject) = (void(*)(char*, char**, char**, char**, char**)) 71;
//char*(*IDE_GetBrowserItems)(char *Node, BOOL GetItems) = (char*(*)(char*, BOOL)) 72;
//void (*IDE_RefreshBrowser)(char *Node) = (void(*)(char*)) 73;
//void (*IDE_GetPopupObject)(char **ObjectType, char **ObjectOwner, char **ObjectName, char **SubObject) = (void(*)(char**, char**, char**, char**)) 74;
//char*(*IDE_GetPopupBrowserRoot)() = (char*(*)()) 75;
//void (*IDE_RefreshObject)(char *ObjectType, char *ObjectOwner, char *ObjectName, int Action) = (void(*)(char*, char*, char*, int)) 76;
//BOOL (*IDE_FirstSelectedObject)(char **ObjectType, char **ObjectOwner, char **ObjectName, char **SubObject) = (BOOL(*)(char**, char**, char**, char**)) 77;
//BOOL (*IDE_NextSelectedObject)(char **ObjectType, char **ObjectOwner, char **ObjectName, char **SubObject) = (BOOL(*)(char**, char**, char**, char**)) 78;
//char*(*IDE_GetObjectSource)(char *ObjectType, char *ObjectOwner, char *ObjectName) = (char*(*)(char*, char*, char*)) 79;
//int  (*IDE_GetWindowCount)() = (int(*)()) 80;
//BOOL (*IDE_SelectWindow)(int Index) = (BOOL(*)(int)) 81;
  BOOL (*IDE_ActivateWindow)(HWND Index) = (BOOL(*)(HWND)) 82;
//BOOL (*IDE_WindowIsModified)() = (BOOL(*)()) 83;
//BOOL (*IDE_WindowIsRunning)() = (BOOL(*)()) 84;
//int  (*IDE_WindowPin)(int Pin) = (int(*)(int)) 85;
//void (*IDE_SplashCreate)(int ProgressMax) = (void(*)(int)) 90;
//void (*IDE_SplashHide)() = (void(*)()) 91;
//void (*IDE_SplashWrite)(char *s) = (void(*)(char*)) 92;
//void (*IDE_SplashWriteLn)(char *s) = (void(*)(char*)) 93;
//void (*IDE_SplashProgress)(int Progress) = (void(*)(int)) 94;
//char*(*IDE_TemplatePath)() = (char*(*)()) 95;
//BOOL (*IDE_ExecuteTemplate)(char *Template, BOOL NewWindow) = (BOOL(*)(char*, BOOL)) 96;
//char*(*IDE_GetConnectAs)() = (char*(*)()) 97;
//BOOL (*IDE_SetConnectionAs)(char *Username, char *Password, char *Database, char *ConnectAs) = (BOOL(*)(char*, char*, char*, char*)) 98;
//char*(*IDE_GetFileOpenMenu)(int MenuIndex, int *WindowType) = (char*(*)(int, int*)) 100;
//BOOL (*IDE_CanSaveWindow)() = (BOOL(*)()) 101;
//void (*IDE_OpenFileExternal)(int WindowType, char *Data, char *FileSystem, char *Tag, char *Filename) = (void(*)(int, char*, char*, char*, char*)) 102;
//char*(*IDE_GetFileTypes)(int WindowType) = (char*(*)(int)) 103;
//char*(*IDE_GetDefaultExtension)(int WindowType) = (char*(*)(int)) 104;
//char*(*IDE_GetFiledata)() = (char*(*)()) 105;
//void (*IDE_FileSaved)(char *FileSystem, char *FileTag, char *Filename) = (void(*)(char*, char*, char*)) 106;
//BOOL (*IDE_ShowHTML)(char *Url, char *Hash, char *Title, char *ID) = (BOOL(*)(char*, char*, char*, char*)) 107;
//BOOL (*IDE_RefreshHTML)(char *Url, char *ID, BOOL BringToFront) = (BOOL(*)(char*, char*, BOOL)) 108;
//char*(*IDE_GetProcEditExtension)(char *oType) = (char*(*)(char*)) 109;
//BOOL (*IDE_GetWindowObject)(char **ObjectType, char **ObjectOwner, char **ObjectName, char **SubObject) = (BOOL(*)(char**, char**, char**, char**)) 110;
//char*(*IDE_FirstSelectedFile) (BOOL Files, BOOL Directories) = (char*(*) (BOOL, BOOL)) 111;
//char*(*IDE_NextSelectedFile)() = (char*(*)()) 112;
//void (*IDE_RefreshFileBrowser)() = (void(*)()) 113;
//void (*IDE_KeyPress)(int Key, int Shift) = (void(*)(int, int)) 120;
  int  (*IDE_GetMenuItem)(char *MenuName) = (int(*)(char*)) 121;
  BOOL (*IDE_SelectMenu)(int MenuItem) = (BOOL(*)(int)) 122;
//char*(*IDE_GetMenuItemLayout)() = (char*(*)()) 123;
//char*(*IDE_TranslationFile)() = (char*(*)()) 130;
//char*(*IDE_TranslationLanguage)() = (char*(*)()) 131;
//char*(*IDE_GetTranslatedMenuLayout)() = (char*(*)()) 132;
//char*(*IDE_MainFont)() = (char*(*)()) 133;
//char*(*IDE_TranslateItems)(char *Group) = (char*(*)(char*)) 134;
//char*(*IDE_TranslateString)(char *ID, char *Default, char *Param1, char *Param2) = (char*(*)(char*, char*, char*, char*)) 135;
//BOOL (*IDE_SaveRecoveryFiles)() = (BOOL(*)()) 140;
  int  (*IDE_GetCursorX)() = (int(*)()) 141;
  int  (*IDE_GetCursorY)() = (int(*)()) 142;
  void (*IDE_SetCursor)(int X, int Y) = (void(*)(int, int)) 143;
  int  (*IDE_SetBookmark)(int Index, int X, int Y) = (int(*)(int, int, int)) 144;
  void (*IDE_ClearBookmark)(int Index) = (void(*)(int)) 145;
  void (*IDE_GotoBookmark)(int Index) = (void(*)(int)) 146;
  BOOL (*IDE_GetBookmark)(int Index, int *X, int *Y) = (BOOL(*)(int, int*, int*)) 147;
//char*(*IDE_TabInfo)(int Index) = (char*(*)(int)) 148;
//int  (*IDE_TabIndex)(int Index) = (int(*)(int)) 149;
//void (*IDE_CreateToolButton)(int ID, int Index, char *Name, char *BitmapFile, HBITMAP BitmapHandle) = (void(*)(int, int, char*, char*, HBITMAP)) 150;
//void (*IDE_ShowToolButtonMenu)(int ID, int Index, char *Name, char *Items) = (void(*)(int, int, char*, char*)) 151;
//BOOL (*IDE_WindowHasEditor)(BOOL CodeEditor) = (BOOL(*)(BOOL)) 153;
  int  (*IDE_GetCursorWordOffset)() = (int(*)()) 154;
//void (*IDE_SetSelectedText)(char *p) = (void(*)(char*)) 155;
//int  (*IDE_BeautifierOptions)() = (int(*)()) 160;
//BOOL (*IDE_BeautifyWindow)() = (BOOL(*)()) 161;
//char*(*IDE_BeautifyText)(char *s) = (char*(*)(char*)) 162;
//BOOL (*IDE_ObjectAction)(char *Action, char *ObjectType, char *ObjectOwner, char *ObjectName) = (BOOL(*)(char*, char*, char*, char*)) 165;
//BOOL (*IDE_ShowDialog)(char *Dialog, char *Param) = (BOOL(*)(char*, char*)) 166;
//char*(*IDE_MainApplication)() = (char*(*)()) 170;
//int  (*IDE_MainForm)() = (int(*)()) 171;
//int  (*IDE_Mouse)(int) = (int(*)(int)) 172;
  void (*IDE_DebugLog)(char *Msg) = (void(*)(char*)) 173;
//char*(*IDE_GetParamString)(char *Name) = (char*(*)(char*)) 174;
//BOOL (*IDE_GetParamBool)(char *Name) = (BOOL(*)(char*)) 175;
//void (*IDE_GetBrowserFilter)(int Index, char **Name, char **WhereClause, char **OrderByClause, char **User, BOOL *Active) = (void(*)(int, char**, char**, char**, char**, BOOL*)) 176;
//char*(*IDE_GetSyntaxAnalyzer)(char *Name) = (char*(*)(char*)) 177;
//int  (*IDE_GetAppHandleEx)() = (int(*)()) 178;
//void (*IDE_CommandFeedback)(int FeedbackHandle, char *s) = (void(*)(int, char*)) 180;
//int  (*IDE_ResultGridRowCount)() = (int(*)()) 190;
//int  (*IDE_ResultGridColCount)() = (int(*)()) 191;
//char*(*IDE_ResultGridCell)(int Col, int Row) = (char*(*)(int, int)) 192;
//int  (*IDE_ResultGridVisibleColCount)() = (int(*)()) 193;
//BOOL (*IDE_Authorized)(char *Category, char *Name, char *SubName) = (BOOL(*)(char*, char*, char*)) 200;
//BOOL (*IDE_WindowAllowed)(int WindowType, BOOL ShowErrorMessage) = (BOOL(*)(int, BOOL)) 201;
//BOOL (*IDE_Authorization)() = (BOOL(*)()) 202;
//char*(*IDE_AuthorizationItems)(char *Category) = (char*(*)(char*)) 203;
//void (*IDE_AddAuthorizationItem)(int PlugInID, char *Name) = (void(*)(int, char*)) 204;
//char*(*IDE_GetPersonalPrefSets)() = (char*(*)()) 210;
//char*(*IDE_GetDefaultPrefSets)() = (char*(*)()) 211;
//char*(*IDE_GetPrefAsString)(int PlugInID, char *PrefSet, char *Name, char *Default) = (char*(*)(int, char*, char*, char*)) 212;
//int  (*IDE_GetPrefAsInteger)(int PlugInID, char *PrefSet, char *Name, int Default) = (int(*)(int, char*, char*, int)) 213;
//BOOL (*IDE_GetPrefAsBool)(int PlugInID, char *PrefSet, char *Name, BOOL Default) = (BOOL(*)(int, char*, char*, BOOL)) 214;
//BOOL (*IDE_SetPrefAsString)(int PlugInID, char *PrefSet, char *Name, char *Value) = (BOOL(*)(int, char*, char*, char*)) 215;
//BOOL (*IDE_SetPrefAsInteger)(int PlugInID, char *PrefSet, char *Name, int Value) = (BOOL(*)(int, char*, char*, int)) 216;
//BOOL (*IDE_SetPrefAsBool)(int PlugInID, char *PrefSet, char *Name, BOOL Value) = (BOOL(*)(int, char*, char*, BOOL)) 217;
//char*(*IDE_GetGeneralPref)(char *Name) = (char*(*)(char*)) 218;
//BOOL (*IDE_PlugInSetting)(int PlugInID, char *Setting, char *Value) = (BOOL(*)(int, char*, char*)) 219;
//int  (*IDE_GetProcOverloadCount)(char *Owner, char *PackageName, char *ProcedureName) = (int(*)(char*, char*, char*)) 220;
//int  (*IDE_SelectProcOverloading)(char *Owner, char *PackageName, char *ProcedureName) = (int(*)(char*, char*, char*)) 221;
//char*(*IDE_GetSessionValue)(char *Name) = (char*(*)(char*)) 230;
//BOOL (*IDE_CheckDBVersion)(char *Version) = (BOOL(*)(char*)) 231;
//BOOL (*IDE_GetConnectionInfoEx)(int ix, char **Username, char **Password, char **Database, char **ConnectAs) = (BOOL(*)(int, char**, char**, char**, char**)) 240;
//int  (*IDE_FindConnection)(char *Username, char *Database, char *ConnectAs) = (int(*)(char*, char*, char*)) 241;
//int  (*IDE_AddConnection)(char *Username, char *Password, char *Database, char *ConnectAs) = (int(*)(char*, char*, char*, char*)) 242;
//BOOL (*IDE_ConnectConnection)(int ix) = (BOOL(*)(int)) 243;
//BOOL (*IDE_SetMainConnection)(int ix) = (BOOL(*)(int)) 244;
//int  (*IDE_GetWindowConnection)() = (int(*)()) 245;
//BOOL (*IDE_SetWindowConnection)(int x) = (BOOL(*)(int)) 246;
//BOOL (*IDE_GetConnectionTree)(int ix, char **Description, char **Username, char **Password, char **Database, char **ConnectAs, int *ID, int *ParentID) = (BOOL(*)(int, char**, char**, char**, char**, char**, int*, int*)) 247;
//BOOL (*IDE_GetConnectionInfoEx10)(int ix, char **Username, char **Password, char **Database, char **ConnectAs, char **Edition, char **Workspace) = (BOOL(*)(int, char**, char**, char**, char**, char**, char**)) 250;
//int  (*IDE_FindConnectionEx10)(char *Username, char *Database, char *ConnectAs, char *Edition, char *Workspace) = (int(*)(char*, char*, char*, char*, char*)) 251;
//int  (*IDE_AddConnectionEx10)(char *Username, char *Password, char *Database, char *ConnectAs, char *Edition, char *Workspace) = (int(*)(char*, char*, char*, char*, char*, char*)) 252;
//BOOL (*IDE_GetConnectionTreeEx10)(int ix, char **Description, char **Username, char **Password, char **Database, char **ConnectAs, char **Edition, char **Workspace, int *ID, int *ParentID) = (BOOL(*)(int, char**, char**, char**, char**, char**, char**, char**, int*, int*)) 253;
//void (*IDE_ShowDifferences)(int PlugInID, char *Caption1, char *String1, char *Caption2, char *String2) = (void(*)(int, char*, char*, char*, char*)) 260;
//void (*IDE_GetDiffPrefs)(BOOL *IgnoreCase, BOOL *IgnoreSpace, BOOL *IgnoreComment) = (void(*)(BOOL*, BOOL*, BOOL*)) 261;
//void (*IDE_SetDiffPrefs)(BOOL IgnoreCase, BOOL IgnoreSpace, BOOL IgnoreComment) = (void(*)(BOOL, BOOL, BOOL)) 262;
//int  (*IDE_TestDifferences)(int PlugInID, char *Caption1, char *String1, char *Caption2, char *String2) = (int(*)(int, char*, char*, char*, char*)) 263;
//char*(*IDE_GetUserPref)(char *Name) = (char*(*)(char*)) 266;
//BOOL (*IDE_SetUserPref)(char *Name, char *Value) = (BOOL(*)(char*, char*)) 267;
//void (*IDE_ApplyUserPrefs)() = (void(*)()) 268;
//int  (*IDE_290)() = (int(*)()) 290;
//void*(*IDE_291)(char *p) = (void*(*)(char*)) 291;
//char*(*SYS_OracleHomeName)() = (char*(*)()) 300;
} f;

2. RegisterCallback() source
Code
__declspec(dllexport) void RegisterCallback(int Index, void* Addr) {
  for (void **p = (void**)&f; p < (void**)&f+sizeof(f)/sizeof(void*); p++) {
    if (*(int*)p == Index) {
      *p = Addr;
      break;
    }
  }
}

3. Usage of functions:
Code
f.IDE_DebugLog(sError);
...
char *username, *password, *database, s[256];
f.IDE_GetConnectionInfo(&username, &password, &database);
...
f.IDE_SetReadOnly(!f.IDE_GetReadOnly());
...
int g_menu_FR = f.IDE_GetMenuItem("Edit / Search / Find  Replace");
...
BOOL bm_exists = f.IDE_GetBookmark(Index, &bookX, &bookY);

Maybe it helps someone.
0 75 Read More
PL/SQL Developer Jump to new posts
Re: Scroll bars too narrow in PLD v. 15.0.3 Claus Pedersen 01/16/23 11:37 AM
Ah, I see it now. Thanks for the reply.

Another Windows 11 look-and feel that makes it a little harder to use the computer in an effective way (;
2 128 Read More
Direct Oracle Access Jump to new posts
Re: Unable to connect from DLL Andras Boros 01/13/23 02:52 PM
Hello! We are now running into the same problem. Did you finally find a solution?
14 8,209 Read More
PL/SQL Developer Jump to new posts
Re: Feature Request: GIT Branch Visibility Marco Kalter 01/12/23 09:45 AM
I have added this to the list of enhancement requests.
1 98 Read More
PL/SQL Developer Jump to new posts
Re: PLSQL Devleoper hangs up ITTCT 01/11/23 02:54 PM
Hi Marco,

Sorry for the late reply, here is the debug file.

Thanks for your help.
ITTCT
3 495 Read More
PL/SQL Developer Jump to new posts
Re: File not found error reading HTML Manual Marco Kalter 01/09/23 08:57 AM
Okay, thanks for confirming.
4 198 Read More
PL/SQL Developer Jump to new posts
Re: PlugInIntf question Starina 01/07/23 05:50 PM
For version 15.0.3 file c:\Program Files\PLSQL Developer 15\PlugInDoc\Interface\PlugInIntf.pas is still buggy.

For example, the functions SQL_SetPlugInSession, IDE_GetMenuItemLayout (and many others) from the documentation are missing.

Function IDE_GetBrowserUser is not assigned.
3 367 Read More
Powered by UBB.threads™ PHP Forum Software 7.7.4